题目

本题要求统计给定整数M和N区间内素数的个数并对它们求和。

输入格式:

输入在一行中给出两个正整数M和N

输出格式:

在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。

解决方法

 

#include<stdio.h>
int main()
{
    int M,N;
    int counter=0;
    int sum=0;
    int i,j;
    
    scanf("%d %d",&M,&N);
    
    for(i=M;i<=N;i++)
    {
        for(j=2;j<=i-1;j++)
        { 
            if(i%j==0)
            break;
        }
    
    if(j==i)
    {
        sum=sum+i;
        counter=counter+1;
    }
    }
    printf("%d %d",counter,sum);
    return 0;
}

 

 

 2.数组求素数

 

#include<stdio.h>
int main()
{
    const int maxNumber = 11 ;
    int isprime[maxNumber];
    int i;
    int x;
    for( i=0; i<maxNumber; i++)
    {
        isprime[i]=1;
    }
    for( x=2; x<maxNumber; x++)
    {
        if (isprime[x])
        {
            for( i=2; i*x<maxNumber; i++)
            {
                isprime[i*x]=0;
            }
        }
    }
    for( i=2; i<maxNumber; i++)
    {
        if(isprime[i])
        {
            printf("%d\t",i);
        }
    }
    printf("\n");
    
    return 0;
}

 

posted on 2020-03-31 06:38  卑微小葫芦在线爱编程  阅读(178)  评论(0编辑  收藏  举报