1. 程式人生 > 其它 >藍橋杯ACM簡單題-生日蠟燭 2020-12-22

藍橋杯ACM簡單題-生日蠟燭 2020-12-22

技術標籤:程式設計演算法演算法

藍橋杯ACM簡單題-生日蠟燭

1.問題描述
  某人從某年開始每年都舉辦一次生日派對,並且每次都要吹熄與年齡相同根數的蠟燭。現在算起來,他一共吹熄了236根蠟燭。請問,他從多少歲開始過生日派對的?
2.演算法分析
  顯然為一個遞推問題,故使用迴圈,我們可以從1歲試起進行求解,注意最後限制範圍,否則可能為無限迴圈。
3.輸出結果
  開始: 26 結束: 33
4.程式碼

#include<stdio.h>
int main()
{
    int start, end; //年齡的下限和上限
    for (start = 1; start <
236; start++) //年齡從一歲開始,並設定上限 { for (end = start; end < 236; end++) //為下一步遞推做準備 { int sum = 0; for(int i = start; i <= end; i++) //年齡下、上限的和 sum += i; if( sum == 236) { printf("開始: %d 結束: %d\n"
, start, end); } } } return 0; }