项目1 迭代输出Fibonacci数列1 1 2 3 5 8 …n
/*
*Copyright @2018,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:袁生
*完成日期:2018年1月15日
*版 本 号:v1.0
*问题描述:输出Fibonacci数列1 1 2 3 5 8...到n项
*/
#include <stdio.h>
int main()
{
int f1=1,f2=1,fn,i=3,n;
while (1)
{
scanf("%d",&n);
if (n<3)
{
printf("Please input the right number!\n");
continue;
}
else
break;
}
printf("n=%d\n",n);
printf("%d\t %d\t",f1,f2);
while (i<=n)
{
fn=f1+f2;
f1=f2;
f2=fn;
printf("%d\t",fn);
if (i%6==0)
printf("\n");
i++;
}
return 0;
}
运行结果
项目2 另类求和
求 Sn=a+aa+aaa+…+aa…a之值,其中 a是一个数字。例如2+22+222+2222( 此时a=2,n=4),a和n均由键盘输入。
/*
*Copyright @2018,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:袁生
*完成日期:2018年1月15日
*版 本 号:v1.0
*问题描述:求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字,a和n均由键盘输入。
*/
#include <stdio.h>
int main()
{
int a,n,i=1,Tn=0,Sn=0;
scanf("%d %d",&a,&n);
printf("a=%d n=%d\n",a,n);
while (i<=n)
{
Tn=Tn*10+a; //可直观看出无须推导
Sn+=Tn;
i++;
}
printf("Tn=%d\n",Tn);
printf("Sn=a+aa+...=%d\n",Sn);
return 0;
}
输出结果
小结
在求解Tn时可直观看迭代,无须推导。将数列通项公式求出就麻烦了,例如直接将第n项拆解为Xn=a+