1. 程式人生 > >第七屆藍橋杯 省賽 JavaB組 生日蠟燭

第七屆藍橋杯 省賽 JavaB組 生日蠟燭

某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。


現在算起來,他一共吹熄了236根蠟燭。


請問,他從多少歲開始過生日party的?


請填寫他開始過生日party的年齡數。
注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。


思路:因為不知道從幾歲開始吹蠟燭計數,因此暴力搜尋從(1-100歲)開始的情況。每年比上一年多吹一根,sum計數以吹蠟燭總數。

public class Main {
	public static void main(String[]args){
		int sum=0;//吹蠟燭總數
		for(int i=0;i<100;i++){//從第i年開始吹蠟燭
			for(int j=i;j<100;j++){
				sum+=j;
				if(sum==236){
					System.out.println(i);
				}
			}
			sum=0;
		}
	}
}

答案:26

public class Main{
	public static void main(String[]args){
		int sum=0;
		for(int i=1;i<100;i++){
			sum=i;
			for(int j=i+1;j<100;j++){
				sum=sum+j;
				if(sum==236){
					System.out.println(i);
				}
			}
		}
	}
}

設計測試用例:

3+4+5=12

public class Main{
	public static void main(String[]args){
		int sum=0;
		for(int i=1;i<100;i++){
			sum=i;
			for(int j=i+1;j<100;j++){
				sum=sum+j;
				if(sum==12){
					System.out.println(i);
				}
			}
		}
	}
}