

思路:
从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;
}
总结
注意初始化
A - 544的饼干
原文:https://www.cnblogs.com/123-d/p/11167274.html