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

来源:互联网 发布:白头发 知乎 编辑:程序博客网 时间:2024/06/09 23:02
/* 
生日蜡烛


某君从某年开始每年都举办一次生日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>


0 0