Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ tháng một, 2017

[C/C++] Ví dụ giải thuật Đệ quy [Bài tập 16.1.17]

Ví dụ giải thuật Đệ quy

/* Bài 1: Viết các hàm thực hiện (sử dụng hàm đệ quy): Tính S= x^2 / 2! + x^4 / 4! + ... + x^(2n) / (2n)! (Trong đó x, n nhập vào từ bàn phím thỏa mãn 1<x<3; 2<n<100) */
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
// var
float x;
int n;
// Input x,n
void Input_x_n(){
cout<<"\n Nhap x, n:";
do{
cout<<"\n x: ";
cin>>x;
if(1>x||x>3)
cout<<"\n Nhap lai x!";
}while(1>x ||x>3);
do{
cout<<"\n n: ";
cin>>n;
if(1>n||n>100)
cout<<"\n Nhap lai n!";
}while(1>n ||n>100);
}
// Luy thua
float LuyThua(float x, int i){
if(i==1) return x;
return LuyThua(x,i-1)*x;
}
// Giai thua
long GiaiThua(int i){
if(i==1) return 1;
return GiaiThua(i-1)*i;
}
// Tinh tong
float TinhTong(int x, int n){
if(n==2) return (x*x)/2;
return LuyThua(x,n)/GiaiThua(n) + TinhTong(x,n-2);
}
// Ham chinh
void main(){
Input_x_n();
cout<<"\n Tong = "<<Ti…