Professional Documents
Culture Documents
long giaithua(int);
long tonggiaithua(int);
int main()
{
int number;
printf("Nhap vao mot so: ");scanf("%d",&number);
printf("%d!=%d\n",number,giaithua(number));
printf("=%d",tonggiaithua(number));
getch();
}
long giaithua(int n)
{
long temp=1;
if(n==0||n==1)
return 1;
else
return n*giaithua(n-1);
return temp;
/*else
{
for(int i=1;i<=n;i++)
temp*=i;
}
return temp;*/
}
long tonggiaithua(int n)//Khai bao kieu long de khoi so
tran bo nho
{
long tong=0;
for(int i=0;i<=n;i++)
{
tong+=long(giaithua(i));//
/*if(i<n)//Doan nay chi la rau ria thoi
printf("%d!+",i);
else
printf("%d!",i);*/
}
return tong;
}
Tính Fibonacci:
#include<stdio.h>
#include<conio.h>
long fibonacci(int);
int main()
{
int n;
printf("Nhap n=");
scanf("%d",&n);
printf("\n%d ",fibonacci(n));
getch();
return 0;
}
long fibonacci(int n)
{
if(n==0||n==1) return 1;//Neu n=0 hoac n=1 thi tra ra
ket qua la 1
return fibonacci(n-1)+fibonacci(n-2);//neu n khac 0 or
khac 1 thi goi de quy
}
#include <stdio.h>
#include <stdlib.h>
#define max 100
void main()
{
char str[] = "123456789";
char *ptr = insert(str);
Try(ptr,1,12);
free (ptr);
}
bài tập C của mình là :viết một hàm đệ quy DAONGUOC(int n) in ra các chữ số của n
theo thứ tự đảo ngược
#include <stdio.h>
#include <conio.h>
int mang[1000];
void in();
void daonguoc(int start,int end);
int main(void)
{
int n=0,i=0;
printf("\nNhap do dai cua so :");
scanf("%d",&n);
for(i=0;i<n;i++)
{
mang[i]=10;
while(mang[i]>9)
{
printf("\nNhap chu so thu %d . chi duoc nhap so <= 10 :",i);
scanf("%d",&mang[i]);
}
}
printf("\nBan da nhap day so : ");
in(n);
printf("\nChuoi so sau khi dao la :");
daonguoc(0,n-1);
in(n);
printf("\n");
getch();
return 0;
}
void daonguoc(int start,int end)
{
int tem=0;
if(start<end)
{
tem=mang[start];
mang[start]=mang[end];
mang[end]=tem;
daonguoc(start+1,end-1);
}
}
void in(int n)
{
int i=0;
for(i=0;i<n;i++)
{
printf("%d",mang[i]);
}
}