鸿运当头,恭喜您获得 1 金币
树欲静而风不止,今天来了很多给我介绍对象的,也许是星期天的缘故吧,所以就中止了学C的路程,不过下午我又学了点,呵呵,
今天我知道了一个概念,就是数决结构和算法,呵呵,下边我就把我作的几道题写出来
第一,兔子繁殖问题
其实就是一个规律的数列,找出规律,让你求第N项,就如同以前学习的等差数列一样,
1,1,2,3,5,8,13,21
呵呵,让你求,如果你求第N项,很难吧,我记得好像考公务员很多这样的数列题,可惜那个时候我不会C 呀
a1=1, a2=2, a3=a1+a2;
也就是说 ,每次循环都是后两个数相加
a3=a1+a2
这是第一次循环,第二次,就是
a4=a2+a3,当然要是循环,我们不可能这样写,我们可以利用赋值的方法导一下变量,导是倒爷的导呵呵,
就是
a1=a2;
a2=a3;
然后显示a3,当然了,循环一次,出a3,循环n次,就出n+2项了,所以求第n项,就循环n-2次就行了,程序就形成了
main()
{
int n,a=1,b=1,i,c;
scanf("%d",&n);
for(i=1;i<=n-2;i++)
{
c=a+b;
a=b;
b=c;
}
pritnf("%d",c);
}
下面来研究一个更难的数列,呵呵,是个母牛,第四个年头开始每年下一个,呵呵
1,1,1,2,3,4,6,9,
呵呵,这个题更绕脑子呀
a1=1, a2=1, a3=1, a4=2, a5=3
规律就是:
a4=a1+a3
a5=a2+a4
a6=a3+a5
a4=a1+a3
a1=a2
a2=a3
a3=a4
循环结束,第一次求出第四项的直,循环N次求出n+4项目的直,求第n项的话,就让他循环n-4次,就可以了。
下面解决爱因斯坦的阶梯问题:
x%2=1
x%3=2
x%5=4
x%6=5
x%7=0
求X,呵呵,这道题目有点难,可以利用书上说的穷举法来作,就是让循环起来,一个一个尝试,尝试到了满足的条件就,退出。
x%2=1
x%3=2
x%5=4
x%6=5
x%7=0
可以想象x是7的倍数,而且是基数,循环的范围就可以缩小导,x=7,
x=x+14
在这样一个范围哪循环
if(x%3==2 && x%5==4 && x%6==5)
printf("%d",x);
break
前边加一个while(1)
然后用break 退出就行了,
刚才我学习了这个数列的两个问题,和一个阶梯问题,一共三个问题,前两个问题用了迭代方法,最有一个用了穷举法。
下面我重点研究一下打印九九表的问题,它主要是一个多重循环,脑瓜透支了,一会去看看湖南卫士去,呵呵
明天在研究吧