【问题描述】 把一张夏威夷风情披萨放在桌子上,不许离开,每一刀切下去都是一条直线,切 n 刀最多能分 成多少块?(1<=n<=30)
【输入】输入一个正整数表示所切刀数 n
【输出】输出一个正整数 m,披萨最多被切成的块数。
c++程序切披萨问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
Pink_Piggy 2021-08-09 10:53关注我的理解是这样的:当前切完之后的块数是上一次切的刀数与上一次切完之后的块数加1,可以用循环和递归做,
下面是代码#include<stdio.h> #include<iostream> using namespace std; int cutpizza(int n) { if(n==0) return 1; int m=2; int i = 1; while (n-1>0) { ++i; m = i+m; --n; } return m; } int main() { int n; cin >> n; cout << cutpizza(n) << endl; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用