Đề : Tạo 1 bảng chọn công việc cần thực hiện các công việc sau:
code bài giải
- Tính giai thừa bằng cách dùng đệ quy
- Tính giai thừa bằng cách dùng vòng lặp
- Tính số fibonaci
code bài giải
- Code:
//c
#include<stdio.h>
#include<conio.h>
int gtdq(int n);
int gtvl(int n);
long int fib(int n);
main(){
int n,a;
c:
fflush(stdin);
printf("chon cong viec can lam.\n1.tinh giai thua bang cach de quy.\n2.tinh giai thua bang cach dung vong lap.\n3.day so fibonacy.\n");
scanf("%d",&a);
if(a>=1&&a<=3){
b:printf("\n Nhap vao n=");
scanf("%d",&n);
switch(a){
case 1:{
printf("%d! = %d",n,gtdq(n));
break;
}
case 2:{
printf("%d! = %d",n,gtvl(n));
break;
}
case 3:{
if(n<=0){
printf("\n Ban nhap sai gia tri cua n.Vui long nhap lai");
goto b;
}
else
printf("\n So fibonacy %d la:%ld",n,fib(n));
break;
}
}
}else{
printf("khong co du lieu thuat toan ban chon, vui long ");
goto c;
}
}
int gtdq(int n){
if(n==0||n==1)
return 1;
else
return n*gtdq(n-1);
}
int gtvl(int n){
int i,gt;
if(n==0||n==1){
return 1;
}else{
for(gt=1;n>0;n--){
gt=gt*n;
}
return gt;
}
}
long int fib(int n){
int i;
if(n==1||n==2)
return 1;
else
return (fib(n-1)+fib(n-2));
}
xuanhoang_14i2
[You must be registered and logged in to see this link.]