王小二切饼
Problem Description
王小二自夸刀工不错,有人放一张大的煎饼在砧板上,问他:“饼不许离开砧板,切n(1<=n<=100)刀最多能分成多少块?”
Input
输入切的刀数n。
Output
输出为切n刀最多切的饼的块数。
Sample Input
100
Sample Output
5051
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10000];
int n,i;
scanf("%d",&n);
a[0]=1;
for(i=1;i<=n;i++)
{
a[i]=a[i-1]+i;
}
printf("%d\n",a[n]);
return 0;
}
Fighting_小银考呀考不过四级
Problem Description
四级考试已经过去好几个星期了,但是小银还是对自己的英语水平担心不已。
小银打算好好学习英语,争取下次四级考试和小学弟小学妹一起拿下它!
四级考试的时候,监考老师会按考号分配固定的座位,但唯一不变的是每两个人之间肯定至少会留下两个空座位,原因相信大家都懂得。
那么问题来了,我们现在只关注教室里的一排座位,假设每排有n个座位,小银想知道这一排至少坐一个人的前提下,一共有多少种坐法。
Input
多组输入。
第一行输入整数n,代表教室里这一排的座位数目。(1 <= n <= 45)
Output
输出种类数目。输入输出各占一行,保证数据合法。
Sample Input
135
Sample Output
138
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i;
int a[10000];
a[1]=1;
a[2]=2;
a[3]=3;
while(scanf("%d",&n)!=EOF)
{
for(i=4;i<=n;i++)
{
a[i]=a[i-1]+a[i-3]+1;
}
printf("%d\n",a[n]);
}
return 0;
}
们–加强斐波那契
Problem Description
对于斐波那契数列想必各位已经见过了。这里给出一个加强版。
F[i] = i (i <= 3);
F[i] = F[i-1] + F[i-2] + F[i-3](i >= 4);
Input
多组输入。每组输入一个整数n (1<= n && n <= 30)。
Output
每组数据输出一个整数,代表F[n]。
Sample Input
14
Sample Output
16
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i;
int a[10000];
a[1]=1;
a[2]=2;
a[3]=3;
while(scanf("%d",&n)!=EOF)
{
for(i=4;i<=n;i++)
{
a[i]=a[i-1]+a[i-3]+a[i-2];
}
printf("%d\n",a[n]);
}
return 0;
}