2017本科組模擬賽(計算生日)

萬里無雲便是我發表於2017-03-25

問題描述

/*
標題:算年齡
英國數學家德摩根出生於19世紀初葉(即18xx年)。
他年少時便很有才華。一次有人問他的年齡,他回答說:
“到了x的平方那年,我剛好是x歲”。
請你計算一下,德摩根到底出生在哪一年。
題中的年齡指的是週歲。
請填寫表示他出生年份的四位數字,不要填寫任何多餘內容。
*/




程式碼:



#include <stdio.h>
int main() {
	int i;
	for(int i=1;i<=99;i++){
		if(i*i-i<1850&&i*i-i>1800) {//限制條件 
		
			//X的平方的那年正好X歲,
			//即X平方的那年-X歲=出生那年 
	    printf("生於%d\n",i*i-i);
		break;
		}
    }
	return 0;
}

正確答案:
1806

錯誤理解


題以上的x理解為18XX中的X
#include <stdio.h>
int main() {
	int i,sum1,sum2;
	for(i=1;i<=99;i++){
	 sum1=1800+i;
	 sum2=1800+i*i;
		if(sum2-sum1==i)
         printf("%d",1800+i);
	}
	return 0;
}

錯誤答案
1802