您的位置:首页 > 编程语言 > C语言/C++

2016第七届蓝桥杯C/C++ B组省赛第二题:生日蜡烛

2016-03-29 12:02 351 查看
/*

生日蜡烛

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。

现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的?

请填写他开始过生日party的年龄数。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

这道题可以用暴力和公式两种方法:公式是高中时常用的等差数列公式,不过上到大二都忘干净了,惭愧呀*/

公式法:(第一项+最后一项)*项数=这个等差数列的和
<span style="font-size:18px;">
</span>
<span style="font-size:18px;">#include <stdio.h>
int main()
{
for(int i=1;i<=100;i++)
for(int j=i;j<=100;j++)
{
if(((i+j)*(j-i+1))/2==236)
{
printf("%d",i);
break;
}
}
return 0;
}</span>


第二种方法:纯暴力,枚举开始的年份和结束的年份进行判断

<span style="font-size:18px;">
</span>
<span style="font-size:18px;">#include <stdio.h>
int main()
{
int i,j,k,sum;
for(i=1;i<=100;i++)
for(j=i;j<=100;j++)
{
sum=0;
for(k=i;k<=j;k++)
sum=sum+k;
if(sum==236)
{
printf("%d\n",i);
break;
}
}
return 0;
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: