C语言 OJ....素数判断

题目描述

判断[ k1,k2]之间有多少个素数(包含k1k2),并输出这些素数。 ( 1 <= k1 < k2 <= 1000 )

输入

输入两个正整数k1k2

输出

输出两行信息,第一行是[k1,k2]之间素数个数,第二行输出所有素数。素数之间用空格分开。

样例输入

1 10

样例输出

4
2 3 5 7
#include 
int ss(int x)
{
    int i,f=1;
    if(x==1)   f=0;
    else
    {
        for(i=2;i<=x/2;i++)
             {
               if(x%i==0)
                {
                  f=0;
                   break;
              }
        }
    }

    return f;

}

int main()
{
    int i,k1,k2,c,d=0;
    scanf("%d %d",&k1,&k2);
    for(i=k1;i<=k2;i++)
    {
        c=ss(i);
        if(c==1)
            d++;
    }
    printf("%d\n",d);
    for(i=k1;i<=k2;i++)
    {
        c=ss(i);
        if(c==1)
        printf("%d ",i);
    }
    return 0;
}

你可能感兴趣的:(C语言习题类)