小学奥数(下)
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
到了夏天了,ACM协会发福利了,发了很多西瓜,聪明的小明很爱思考,一个西瓜,
n刀最多能切成几部分? 你能帮他解决么?
输入
多组输入,每组一行,直到文件结束。输入一个n(0≤n≤100)。
输出
对于每一组输入,输出单个数字,n刀可以把西瓜切成几部分。
示例输入
1 2 3
示例输出
2 4 8
提示
来源
示例程序
#include<stdio.h>
int a[10000];
int set(int n)
{
if(n==0)
{
a[n]=1;
return a[n];
}
if(n==1)
{
a[n]=2;
return a[n];
}
else
{
if(a[n])
return a[n];
else
{
a[n]=set(n-1)+n*(n-1)/2+1;
return a[n];
}
}
}
int main()
{
int i,j,n,m,k,t;
while(scanf("%d",&n)!=EOF)
{
k=set(n);
printf("%d\n",k);
}
}