#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double jishu(double x,int n);
double sum(double a,int n);
void ouuput(int n);
int big(int m,int n);
int small(int m,int n);
void fun(int n);
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main1(int argc, char *argv[]) {
double x;
int n;
printf("请输入x的值:\n");
scanf("%lf",&x);
printf("请输入项数:\n");
scanf("%d",&n);
printf("sum=%llf",jishu(x,n));
return 0;
}
double jishu(double x,int n)
{
int i,j,m=1;
double sum;
for(i=0;i<n;i++)
{
for(j=i;j>0;j--)
{
m*=j;
}
sum+=pow(x,i)/m;
}
return(sum);
}
int main2()
{
float a;
int n;
printf("请输入a:");
scanf("%f",&a);
printf("请输入项数:");
scanf("%d",&n);
printf("sum=%lf",sum(a,n));
return 0;
}
double sum(double a,int n)
{
double s=0,eve=1;
int i,j;
for(i=1;i<=n;i++)
{
eve*=a;
s+=eve;
}
return (s);
}
int main3()
{
int n;
printf("你想输出斐波那契数列的多少项:");
scanf("%d",&n);
output(n);
return 0;
}
void output(int n)
{
int a=1,b=1,i,count;
int c;
if(n>=3)
{
printf(" %5d %5d",a,b);
count=2;
//输入前两项
for(i=3;i<=n;i++)
{
c=a+b;
a=b;
b=c;
printf(" %5d",c);
count++;
if(count%5==0)
printf("\n");
}
}
}
int main4()
{
int m,n;
printf("请输入m和n:\n");
scanf("%d%d",&m,&n);
big(m,n);
small(m,n);
return 0;
}
int big(int m,int n)//求最大公约数
{
int i,j,biggest;
j=(m>n)?n:m;//把m,n中较小的数复制给j
for(i=2;i<=m;i++)
{
if(m%i==0&&n%i==0)
{
biggest=i;
}
}
printf("最大公约数为%d",biggest);
}
int small(int m,int n)//求最小公倍数
{
int i,j,smallest;
j=(m>n)?m:n;
for(i=m+1;;i++)
{
if(i%m==0&&i%n==0)
{
smallest=i;
break;
}
}
printf("\n最小公倍数为%d",smallest);
}
int main5()
{
int year;
scanf("%d",&year);
printf("%d",isLeapYear(year));
}
int isLeapYear(int year)
{
if(year%100!=0&&year%4==0||year%400==0)
return(1);
else return(0);
}
int main()
{
int n;
scanf("%d",&n);
/*while(n>100000000)
{
printf("ERROR!TOO BIG!");
scanf("%d",&n);
}*/
fun(n);
return 0;
}
void fun(int n)
{
if(n<2)
printf("%d",n);
else
{
fun(n/2);
printf("%d",n%2);
}
}