Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
kiem tien, kiem tien online, kiem tien truc tuyen, kiem tien tren mang
Monday, April 4, 2016

[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)
#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;
}


 http://lap-trinh-may-tinh.blogspot.com/

0 comments:

Post a Comment

Popular Posts