日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

    歡迎訪問 生活随笔!

    生活随笔

    當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

    编程问答

    杭电2012-素数判定(C)

    發(fā)布時(shí)間:2023/12/1 编程问答 30 豆豆
    生活随笔 收集整理的這篇文章主要介紹了 杭电2012-素数判定(C) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

    Problem Description
    對于表達(dá)式n^2+n+41,當(dāng)n在(x,y)范圍內(nèi)取整數(shù)值時(shí)(包括x,y)(-39<=x<y<=50),判定該表達(dá)式的值是否都為素?cái)?shù)。

    Input
    輸入數(shù)據(jù)有多組,每組占一行,由兩個(gè)整數(shù)x,y組成,當(dāng)x=0,y=0時(shí),表示輸入結(jié)束,該行不做處理。

    Output
    對于每個(gè)給定范圍內(nèi)的取值,如果表達(dá)式的值都為素?cái)?shù),則輸出"OK",否則請輸出“Sorry”,每組輸出占一行。

    Sample Input
    0 1
    0 0

    Sample Output
    OK

    思路分析:

    首先,輸入x、y是一個(gè)范圍,也就是【x,y】之間,已知題意,它有一個(gè)表達(dá)式n=n2+n+41,這里的n屬于【x,y】范圍內(nèi)。
    第一步,需要將通過表達(dá)式計(jì)算之后的n給求出來,判斷其是否是素?cái)?shù)。(本人編寫一個(gè)自定義函數(shù)來進(jìn)行判斷n是否是素?cái)?shù),若是素?cái)?shù)返回0,不是返回1)
    第二步,對最后的結(jié)果進(jìn)行分類總結(jié)即可

    代碼如下:

    #include<stdio.h> #include<math.h> int is(int n);int main(){int sum,i,j,k,n;int x,y;while(scanf("%d %d",&x,&y)!=EOF){if(x==0&&y==0)break;//輸入0 0 表示結(jié)束for(i=x;i<=y;i++){n=i*i+i+41;if(is(n))break;//如果返回的是1,代表不是素?cái)?shù)}if(i>y)printf("OK\n");//再進(jìn)行判斷,若i>y表示是循環(huán)完整結(jié)束,即為素?cái)?shù)else printf("Sorry\n");//循環(huán)不正當(dāng)結(jié)束,表示之間有不是素?cái)?shù)的數(shù)存在}return 0;}int is(int n){//自定義判斷是否是素?cái)?shù)的函數(shù),若是素?cái)?shù)返回0,否則返回1int i;if(n%2==0)return 1;//偶數(shù)都不是素?cái)?shù),返回1int x = sqrt(n);//這里是為了減少運(yùn)算量for(i=3;i<=x;i+=2){//這里的i=i+2,是因?yàn)榕紨?shù)都不是素?cái)?shù),不需要判斷了,第一個(gè)if里面已經(jīng)篩選過了if(n%i==0)break;//存在有其他數(shù)可以被它整除,即不是素?cái)?shù),結(jié)束循環(huán),即該數(shù)不是素?cái)?shù)}return i > x ? 0 : 1;//當(dāng)循環(huán)結(jié)束之后,存在兩種情況,一種是進(jìn)入if中,結(jié)束循環(huán)、;另一種則是,循環(huán)完整結(jié)束;如果i>x表示循環(huán)完整結(jié)束,也就是說從3~√n之間都不可以被它整除,即它是素?cái)?shù),則返回0;反之返回1;

    參考博客:https://blog.csdn.net/tigerisland45/article/details/51761340

    總結(jié)

    以上是生活随笔為你收集整理的杭电2012-素数判定(C)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。