生日蜡烛(蓝桥杯)
某君從某年開始每年都舉辦一次生日party,并且每次都要吹熄與年齡相同根數(shù)的蠟燭。
現(xiàn)在算起來,他一共吹熄了236根蠟燭。
請問,他從多少歲開始過生日party的?
請?zhí)顚懰_始過生日party的年齡數(shù)。
注意:你提交的應(yīng)該是一個整數(shù),不要填寫任何多余的內(nèi)容或說明性文字。
代碼如下:
#include <iostream> #include<cstdio> using namespace std;int main() {int i,j=1,sum=0;for(i=1;i<=50;i++) //如果從50歲開始點蠟燭話,50+51+52+53+54>236,所以肯定是在50歲之前的某個年齡開始點蠟燭的{sum=0; //sum負責(zé)計數(shù),算蠟燭的和j=i; //從第i歲開始的,i從1~50歲while(sum<236) //蠟燭和小于236,如果等于236時結(jié)束循環(huán),或者大于236時結(jié)束循環(huán){sum+=j; //每次都是等差數(shù)列,公差為1j++;}if(sum==236) //當(dāng)蠟燭和為236時{printf("%d\n",i);//輸出幾歲開始吹蠟燭的printf("%d",j-1); //輸出現(xiàn)在是多少歲,因為while循環(huán)里面j會多加一次,所以這里的實際年齡應(yīng)該是j-1歲}}return 0; }思路分析:
1+2+3+4+5+…==236
2+3+4+5+6+…==236
3+4+5+6+7+…==236
… … …
i+(i+1)+(i+2)+(i+3)+…==236,i從1開始,一直到50結(jié)束
輸出結(jié)果為:26 33
可知,從26開始加,加到一個數(shù)(他現(xiàn)在的年齡)33歲,可以得到236。
總結(jié)
- 上一篇: “霜露逼朝荣”下一句是什么
- 下一篇: 信阳治疗多囊卵巢综合症最好的医院推荐