啊~ 手癢~ 大家參考一下int _tmain(int argc, _TCHAR* argv[]){int i,f3,f5;for(i=1; i<=100; i++){f3 = i % 3;f5 = i % 5;if(!f3)printf("Fizz");if(!f5)printf("Buzz");if(f3 && f5)printf("%d..",i);elseprintf("..");}return 0;}
是不是22樓的HTML控制碼沒配對,怎麼後面的文章都變成斜體了,文章看著看著,頭也歪了的說‧‧‧查了一下HTML,22樓的程式,在:output_string = output_string[i-1];這一行的等號前面多了一個<i>,之後就都變成斜體了,可以煩請22樓closer網友改一下嗎?
Gercon wrote:只用一層是做得到的反正所有規則每15個會重複一次用一個迴圈就搞定了...(恕刪) 不是啦,我不是說迴圈的層數,是指十樓那篇的程式,要得到有效結果,worst-case會經歷過幾次條件判斷。另一位網友寫另一程式,問說那樣是不是一層,於是我說,我用層表示不是很好,用次數會比較容易理解。這題迴圈一層就夠用了,不會用超過一層啦!
雙子貓 wrote:是不是22樓的HTML控制碼沒配對,怎麼後面的文章都變成斜體了,文章看著看著,頭也歪了的說‧‧‧ 我去看他的原始碼,發現他耍了一個寶。他把output_string[i] = output_string[i-1];打成output_string<i> = output_string[i-1];然後就歪一片了..我來“撥亂反正”一下吧。
直覺式寫法..public class FizzBuzz { public static void main(String args[]){ int count=1; String str=""; while(count<101){ str=""; if(count%3==0) str = "Fizz"; if(count%5==0) str += "Buzz"; if(str.equals("")) str="" + count; System.out.println(str); count++; } }}
for(int i =1 ; i<= 100 ;i++){if( i%3 == 0 ) cout<<"Fizz";if( i%5 == 0 ) cout<<"Buzz";if(i%3 !=0 && i%5 !=0) cout<<i;cout<<" ";}秒殺