首頁>Club>
C語言求超級素數超級素數是指一個素數依次從低位去掉一位、兩位、……所得的數依然是素數。如239就是超級素數。試編寫程式求100-9999之內:(1) 打印出所有的超級素數;(2) 超級素數的個數; (3) 最大的超級素數。提示: 編寫一個函式,實現對素數的判斷。
3
回覆列表
  • 1 # 微控制器嵌入式愛好者

    #include<stdio.h>

    int PrimeNumber(int n){//判斷一個數n是否為素數

    int i;

    if (n<2) return 0;

    for (i=2; i*i<=n; ++i)

    if (n%i==0) return 0;

    return 1;

    }

    int SuperPrimeNumber(int n){//判斷一個數n是否為超級素數

    if (!PrimeNumber(n)) return 0;

    while (n/10)

    if (!PrimeNumber(n/=10)) return 0;

    return 1;

    }

    int i;

    int cnt=0;

    int maxp;

    printf("從100-9999的超級素數有:\n");

    for (i=100; i<10000; ++i){

    if (SuperPrimeNumber(i)){

    ++cnt;

    maxp=i;

    printf("%8d", i);

    if (cnt%5==0) printf("\n");

    }

    }

    printf("\n總共有:%d個\n", cnt);

    printf("最大的是:%d\n", maxp);

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 男人的脾氣能遷就嗎?