2016年第七届蓝桥杯C/C++程序设计本科B组省赛 生日蜡烛(结果填空)
生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:26
#include<stdio.h>
int main(){
int n,x;
for(x=1;x<100;x++){
for(n=0;n<100;n++){
if((n+1)*x+(n+1)*n/2 == 236){
printf("%d %d",x,n);break;
}
}
}
return 0;
}
思路:1 2 3 4 5 6……这一个等差数列的前n项和为(1+n)*n/2
设从a岁开始过生日,到了b岁一共吹熄了236根蜡烛。
即为:(a+b)(b-a+1)/2=236