[例3-17]計算半徑為1到15的圓的面積,僅打印出超過50的圓面積。
#include
main()
{
int r;
float area;
for(r=1;r<=5;r++)
{
area=3.141593*r*r;
if(area<50.0)
continue;
printf("square=%f",area);
}
}
結果為:
RUN
square=50.265488
square=78.539825
同break一樣,continue語句也僅僅影響該語句本身所處的循環(huán)層,而對外層循環(huán)沒有影
響。
3.4.5程序應用舉例
[例3-18]驗證哥德巴赫猜想:任一充分大的偶數,可以用兩個素數之和表示,例如:
4=2+2
6=3+3
......
98=19+79
哥德巴赫猜想是世界的數學難題,至今未能在理論上得到證明,自從計算機出現后,人們就開始用計算機去嘗試解各種各樣的數學難題,包括費馬大定理、四色問題、哥德巴赫猜想等,雖然計算機無法從理論上嚴密地證明它們,而只能在很有限的范圍內對其進行檢驗,但也不失其意義。費馬大定理已于1994年得到證明,而哥德巴赫猜想這枚數學王冠上的寶石,至今無人能及。
分析:我們先不考慮怎樣判斷一個數是否為素數,而從整體上對這個問題進行考慮,可
以這樣做:讀入一個偶數n,將它分成p和q,使n=p+q。怎樣分呢?可以令p從2開始,每次加1,而令q=n-p,如果p、q均為素數,則正為所求,否則令p=p+q再試。
其基本算法如下:
1)讀入大于3的偶數n。
2)P=1
3)do{
4)p=p+1;q=n-p;
5)p是素數嗎?
6)q是素數嗎?
7)}whilep、q有一個不是素數。
8)輸出n=p+q。
為了判明p、q是否是素數,我們設置兩個標志量flag p和flag q,初始值為0,若p是素數,
令flag p=1,若q是素數,令flag q=1,于是第7步變成:
7)}while(flag p*flag q==0);
#include
main()
{
int r;
float area;
for(r=1;r<=5;r++)
{
area=3.141593*r*r;
if(area<50.0)
continue;
printf("square=%f",area);
}
}
結果為:
RUN
square=50.265488
square=78.539825
同break一樣,continue語句也僅僅影響該語句本身所處的循環(huán)層,而對外層循環(huán)沒有影
響。
3.4.5程序應用舉例
[例3-18]驗證哥德巴赫猜想:任一充分大的偶數,可以用兩個素數之和表示,例如:
4=2+2
6=3+3
......
98=19+79
哥德巴赫猜想是世界的數學難題,至今未能在理論上得到證明,自從計算機出現后,人們就開始用計算機去嘗試解各種各樣的數學難題,包括費馬大定理、四色問題、哥德巴赫猜想等,雖然計算機無法從理論上嚴密地證明它們,而只能在很有限的范圍內對其進行檢驗,但也不失其意義。費馬大定理已于1994年得到證明,而哥德巴赫猜想這枚數學王冠上的寶石,至今無人能及。
分析:我們先不考慮怎樣判斷一個數是否為素數,而從整體上對這個問題進行考慮,可
以這樣做:讀入一個偶數n,將它分成p和q,使n=p+q。怎樣分呢?可以令p從2開始,每次加1,而令q=n-p,如果p、q均為素數,則正為所求,否則令p=p+q再試。
其基本算法如下:
1)讀入大于3的偶數n。
2)P=1
3)do{
4)p=p+1;q=n-p;
5)p是素數嗎?
6)q是素數嗎?
7)}whilep、q有一個不是素數。
8)輸出n=p+q。
為了判明p、q是否是素數,我們設置兩個標志量flag p和flag q,初始值為0,若p是素數,
令flag p=1,若q是素數,令flag q=1,于是第7步變成:
7)}while(flag p*flag q==0);