A - 544的饼干

思路:

从1和2开始相加和后面的数依次比较,如果比它们的和大就舍去,小的话就将两个数字中较小的数进行替换。

1+2 = 3,   2 + 3 > 4, 舍去4, 2 + 3 = 5, 3 + 5  > 6, 舍去6  依次类推。

 

解题

 

#include <string.h>

#include <iostream>

using namespace std;

int chara[50];

int main()

{

int s;

cin >> s;

int num = 1;

while (s--)

{ i

nt sum = 0;

int q = 3;

int m;

memset (chara, 0, sizeof(chara));

cin >> m;

chara[0] = 1;

chara[1] = 2;

chara[2] = 3;

for (int i = 4; i <= m; i++)

{

if (chara[q - 2] + chara[q - 1] > i)

{

sum++;

continue;

}

chara[q++] = i;

}

cout << "Case #" ;

cout << num << ": ";

cout << sum << endl;

num++;

}

return 0;

}

 

总结 

注意初始化

 

posted @ 2019-07-10 23:18  question-maker  阅读(139)  评论(0编辑  收藏  举报