首页 > 试题广场 >

利用函数计算素数个数并求和:输入两个正整数 m 和

[问答题]

利用函数计算素数个数并求和:输入两个正整数

m 和 n(1<=m, n<=500),统计并输出 m 和 n 之间的素数的个数以及这些素数的和。要求定义并调用函数 prime(m)判断 m 是否为素数。试编写相应程序。

推荐
#include "stdio.h" 
#include "math.h" 
int main(void) 
{ 
int count, i, m, n, sum;
 int prime(int m); 
scanf("%d%d", &m, &n); 
count = sum = 0; 
for(i = m; i <= n; i++) 
 if(prime(i) != 0){ 
count++; 
sum = sum + i;
 } 
printf("Count = %d, sum = %d\n", count, sum);
 return 0;
 } 
int prime(int m) 
{ 
int k, i; 
if(m == 1) return 0; 
k = sqrt(m); 
for(i = 2; i <= k; i++) 
if(m % i == 0) return 0; 
return 1; 
}

发表于 2018-05-06 21:28:10 回复(0)
#include <stdio.h>
int first(int k);
int main()
{
    int m,n,sum=0;
    scanf("%d%d",&m,&n);
	for(m;n;m++)
	{
		if(first(m))
		sum+=m;
	}

	 int first(int m)
   {

		int i;
		for(i=1;i<=m/2;i++)
		{
			if(k%10==0)return 0;
			else
			return 1;
		}
	}
//谁告诉我一下为什么编译会出错,用的dev

发表于 2019-12-26 17:51:22 回复(0)
import java.util.*;

public class Main {

    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int  a = sc.nextInt(); //m
        int b = sc.nextInt();//n
        ArrayList<Integer> list = new ArrayList<Integer>();//定义一个list存放素数
        
        while(a<=b){
            //如果a为素数,将其放入list中
            if(prime(a,list)){
                list.add(a);
                
            }
            a++;
            
        }
        //输出
        if(list.size()==0){
            System.out.print("none");
            return;
        }
        System.out.print(list.size()+" ");
        int sum = 0;
        Iterator<Integer> iter = list.iterator();
        while(iter.hasNext()){
            sum = sum + iter.next();
        }
        System.out.print(sum);
    }
    
    //判断该数是否为素数
    public static boolean prime(int n,ArrayList<Integer> list){
        if(n==1){
            return false;
        }
        int max = (int)Math.sqrt(n);
        for(int i=0;i<list.size();i++){
            if(n%list.get(i)==0){
                return false;
            }
            if(list.get(i)>max){
                return true;
            }
        }
        return true;
        
    }

}

发表于 2018-05-14 19:28:43 回复(0)