嗯....費式數列的變相考法 可能真的太久沒寫了,我在這題上面耍了很多寶 除了浪費了很多時間以外,最後寫出來的程式不算很漂亮 現在鞭打自己好好重寫 T__T
public class NewClass { public static void main(String[] args){ int n1=0,n2=0,n3=1,sum=0; for(int i=0;n3<=1000;i++){ if(i != 0){ System.out.print("+"); } System.out.print(n3); sum += n3; n1 = n2; n2 = n3; n3 = n1+n2; } System.out.print("=" + sum); } }第二題:輸入四位數西洋年判斷是否為閏年(閏年為可以被4整除,但不可被100整除,又可以被400整除)
題目很簡單,問題是老師很白痴。 他直接把題目從課本照抄也不先自己仔細看一下或寫一下 看看題目後面寫的閏年判斷準則,會不會詭異? 以我看到的,我會認為它是說要同時滿足可以被4與400整除,又不可被100整除。 這不用說,邏輯上就有問題直接打槍了。世界上沒有數字可以被400整除卻不能被100整除的。 我跟老師反應後他也想了老半天,還跟我說是完全沒改從課本抄來的 (這是怎樣?就算題目有錯也先推給課本嗎?) 結果被他浪費掉的時間也不還給我,害我最後寫的時間嚴重不足 其實正確的表示法應該要把「又可以被400整除」,改成「除非它也可以被400整除」 拜托....身為台灣人,這樣才是正確的中文表達方法好嗎 好啦,在正確的表達後不難看出條件 程式碼如下:
import java.io.*; public class NewClass1 { public static void main(String[] args) throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int in_y; System.out.print("請輸入四位數西洋年:"); in_y = Integer.parseInt(in.readLine()); if((in_y%4==0 &&in_y%100!=0)||(in_y%100==0&&in_y%400==0)){ System.out.print(in_y + "為閏年"); }else{ System.out.print(in_y + "不是閏年"); } } }
沒有留言:
張貼留言