-
问题的重述:
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛,现在算起来,他一共吹熄了236根蜡烛,请问他是从第几岁开始过生日的。
分析:假设人的年龄是在1-100岁之间的,所以我们可以循环来找出他是从第几岁开始过生日,值得注意的是:需要申明一个临时变量temp,用来代替 i 计算总的蜡烛数,这是为了防止算出来的总和不等于236时可以从第2岁开始计算,以此类推,直到算出来的sum=236时输出是第几岁开始过的生日,即输出 i=?
源代码如下:
// ch13.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
int fun()
{
for (int i = 1; i < 100; i++)
{
int sum = 0;
int temp = i;
while (sum < 236)
{
sum = sum + temp;
temp++;
}
if (sum == 236)
{
cout << "他是从第" << i << "岁开始过生日的" << endl;
}
}
return 0;
}
int main()
{
fun();
return 0;
}
结果如下: