スイカを切るとケーキを切る問題


ケーキを切る、スイカを切るなどの問題は一般的に固定的な公式があり、2次元の一般的な方法はan^2+bn+cであり、3次元の一般的な方法はan^3+bn^2+cn+dである.
帯定係数法で各係数を求めればOKなので、頭を悩ませて規則を探さなくてもいいです..
この方法は似たような问题に対してすべてできて、多くの问题を融通してすべて刃を迎えることができます..
 
 
HUSTOJの2つのテーマを貼り付けます.
Problem 1577
すいかを切る
Time Limit: 1 Sec Memory Limit: 128 MB
Submissions: 233 Solved: 35
Description
よく知られているように、1つのスイカを半分に切ることができます.2つのナイフで最大4半分に切ることができます.3つのナイフで最大8つに切ることができます.では、Nナイフで最大何枚に切ることができますか.
Input
合計T(T<=1000)組のテストデータが第1行に与えられ、次にT行が与えられ、各行に整数N(N<=1000)が与えられる.
Output
出力結果にはT行があり、各行に1つの整数、すなわちその行のNに対応する答えがある
Sample Input
3
1
2
3
Sample Output
2
4
8
  
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int cas;
    int n;
    /*freopen("1.txt","r",stdin);*/
    scanf("%d",&cas);
    while(cas--)
    {
        scanf("%d",&n);
        printf("%d
",(n*n*n+5*n+6)/6); } return 0; }

 
 Problem 1578
ケーキを切る
Time Limit: 1 Sec Memory Limit: 128 MB
Submissions: 185 Solved: 66
Description
よく知られているように、一刀でケーキを半分に切ることができます.二刀でケーキを四つに切ることができます.三刀でケーキを7つに切ることができます.では、N刀でケーキをどれだけ切ることができますか.
Input
合計T(T<=1000)組のテストデータが第1行に与えられ、次にT行が与えられ、各行に整数N(N<=1000)が与えられる.
Output
出力結果にはT行があり、各行に1つの整数、すなわちその行のNに対応する答えがある
Sample Input
3
1
2
3
Sample Output
2
4
7
 
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int cas;
    int n;
    /*freopen("1.txt","r",stdin);*/
    scanf("%d",&cas);
    while(cas--)
    {
        scanf("%d",&n);
        printf("%d
",(n*n*n+5*n+6)/6); } return 0; }