数学题(找规律或者是递推)
一个大饼,切n刀,大饼最多能被分成几分(每份大小可以不一样)
其实只要在纸上画几个出来就能找到规律了。用文字来描述的话就是,在已经切了n刀的情况下而且是最优的,切第n+1刀怎么切还能最优呢?就要第n+1刀能和之前的n刀全部相交。
递推公式为 f[0]=1; f[n]=f[n-1]+n (n>=1); 两者结合得 f[n]=(n*n+n)/2+1 (n>=0);
#include <cstdio> #include <cstring> long long n; int main() { while(scanf("%lld",&n)!=EOF && n>=0) printf("%lld\n",(n*n+n)/2+1); return 0; }