找出十个最小的连续自然数,它们个个都是合数(非素数)。

来源:互联网 发布:点点客 知乎 编辑:程序博客网 时间:2024/04/30 01:15

要求:

请利用C语言程序,找出十个最小的连续自然数,它们个个都是合数(非素数)。

在这里分享一个博主自己写的程序

—————————————————————————————————————————————————————————————————————————————

#include <stdio.h>
int main()
{
    int i,j,k,flag,a[10],count=0;
    printf("The following are ten minimum continuous composite numbers:\n");
    for(i = 3; ; i++)    /*从3开始,避开1和2两个特殊情况*/
    {
        for(flag = 1, j = 3; flag && j < i/2; j += 1)    /*判断能否被从3到整数的一半的某一数所整除*/
            if(!(i%j))    /*若能,则是合数*/
                flag =0;
        if(flag)    /*是素数*/
        {
            count = 0;
            continue;
        }
        else    /*是合数*/
        {
            a[count] = i;
            count++;
        }
        if(10 == count)    /*已找到连续的十个合数*/
            break;    /*跳出循环,第一次找到的即为最小的十个连续合数*/
    }
    for(k = 0; k <= 9; k++)    /*输出*/
        printf("%4d",a[k]);
    printf("\n");
    return 0;
}

—————————————————————————————————————————————————————————————————————————————

这十个数是:468 469 470 471 472 473 474 475 476 477

1 0
原创粉丝点击