[C++ / Hàm đệ quy] Bài tập hàm Đệ quy (04/04/2016) - Chương trình viết bằng Dev C++
Bài 1: Tính S1=1+3+5+...+(2n+1) (với 1<= n<=2015)
-----------------------------------------
Bài 2: S2= x/1+x^2/2! +...+x^n/n! (với 1<=x<=3; 1<=n<=5)
Bài 3: s3=2!+4!+...+n! (với n là số chẵn; 2<=n<=10)
Bài 4: S4=x^2/1! + x^4/3! +... x^(2n)/(2n-1)!
Bài 1: Tính S1=1+3+5+...+(2n+1) (với 1<= n<=2015)
#include<iostream>
#include<conio.h>
using namespace std;
// bien toan cuc
int n;
// nhap n
void Nhap_n(){
do{
cout<<"\n n= "; cin>>n;
if(n<1||n>2015)
cout<<"\n Nhap lai n!";
}while (n<1||n>2015);
}
// tinh tong s1=1+3+5+...+(2n+1) - de quy
long S1(int n){
if (n==1)
return 3;
return ((2*n+1) + S1(n-1));
}
int main(){
Nhap_n();
cout<<"\n S1= "<<S1(n);
getch();
return 0;
}
-----------------------------------------
Bài 2: S2= x/1+x^2/2! +...+x^n/n! (với 1<=x<=3; 1<=n<=5)
#include<iostream>-----------------------------------------
#include<conio.h>
#include<math.h>
using namespace std;
// bien toan cuc
int n;
float x;
// nhap n
void Nhap_n(){
do{
cout<<"\n n= "; cin>>n;
if(n<1||n>5)
cout<<"\n Nhap lai n!";
}while (n<1||n>5);
}
// nhap x
void Nhap_x(){
do{
cout<<"\n x= "; cin>>x;
if(x<1||x>3)
cout<<"\n Nhap lai x!";
}while (x<1||x>3);
}
// Tinh giai thua (de quy)
long GiaiThua(int n){
if(n==1)
return 1;
return n*GiaiThua(n-1);
}
// tinh tong S2= x/1+x^2/2! +...+x^n/n! - de quy
float S2(int n, float x){
if (n==1)
return x;
return ((float)pow(x,n)/GiaiThua(n) + S2(n-1,x));
}
// ham main
int main(){
Nhap_n();
Nhap_x();
cout<<"\n Ss= "<<S2(n,x);
getch();
return 0;
}
Bài 3: s3=2!+4!+...+n! (với n là số chẵn; 2<=n<=10)
#include<iostream>-----------------------------------------
#include<conio.h>
#include<math.h>
using namespace std;
// bien toan cuc
int n;
// nhap n
void Nhap_n(){
do{
cout<<"\n n= "; cin>>n;
if(n<2||n>10||n%2!=0)
cout<<"\n Nhap lai n (n la so chan thoa man 2<=n<=10)!";
}while (n<2||n>10||n%2!=0);
}
// Tinh giai thua (de quy)
long GiaiThua(int n){
if(n==1)
return 1;
return n*GiaiThua(n-1);
}
// tinh tong s3=2!+4!+...+n! - de quy
long S3(int n){
if (n==2)
return 2;
return (GiaiThua(n)+S3(n-2));
}
// ham main
int main(){
Nhap_n();
cout<<"\n S3= "<<S3(n);
getch();
return 0;
}
Bài 4: S4=x^2/1! + x^4/3! +... x^(2n)/(2n-1)!
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
// bien toan cuc
int n;
float x;
// nhap n
void Nhap_n(){
do{
cout<<"\n n= "; cin>>n;
if(n<1||n>101)
cout<<"\n Nhap lai n!";
}while (n<1||n>101);
}
// nhap x
void Nhap_x(){
do{
cout<<"\n x= "; cin>>x;
if(x<1|x>3)
cout<<"\n Nhap lai x!";
}while (x<1||x>3);
}
// Tinh giai thua (de quy)
long GiaiThua(int n){
if(n==1)
return 1;
return n*GiaiThua(n-1);
}
// tinh tong s4=x^2/1! + x^4/3! +... x^(2*n)/(2*n-1) - de quy
float S4(int n, float x){
if (n==1)
return x*x;
return ((float)pow(x,2*n)+1/GiaiThua(2*n-1) + S4(n-1,x));
}
// ham main
int main(){
Nhap_n();
Nhap_x();
cout<<"\n S4= "<<S4(n,x);
getch();
return 0;
}
* Có thể bản quan tâm: [MMO] Hướng Dẫn *Kiếm Tiền Tự Động* Với Các Ứng Dụng Treo Máy *CỰC KỲ ĐƠN GIẢN VÀ HIỆU QUẢ*
http://lap-trinh-may-tinh.blogspot.com/