回覆列表
  • 1 # 惠子276284228

    #include<stdio.h>

    int main()

    {

    int i,j;

    int count=0;

    for(i=2;i<100;i++)

    {

    for(j=2;j<=i/2;j++)

    if(i%j==0)//如果i能被j整除 就不是質數 退出迴圈

    break;

    if(j>i/2)

    {

    count++;

    printf("%-3d",i);

    if(count%5==0)//當每一行有5個數時 換行

    printf("\n");

    }

    }

    return 0;

    }

    for(j=2;j<=i/2;j++)中的 j<=i/2是表示 從j=2開始遍歷到j=i/2 看看2~i/2中能否整除i

    如果都不能 說明i是質數(也就是j>i/2)

    如果有1個及以上能整除i 說明i不是質數

    for()

    {

    }

    //for迴圈結束之後 j的值是大於i/2的 因為for迴圈的條件是:j<=i/2

    //因此 當j>i/2時 for迴圈結束

    if(j>i/2)

    這裡當且僅當2~i/2都不能整除i時 也就是j>i/2 才說明i是質數

  • 中秋節和大豐收的關聯?
  • 表示家庭和睦的詩句?