0
点赞
收藏
分享

微信扫一扫

浙大版《C语言程序设计(第3版)》题目集 习题5-4 使用函数求素数和 (20 分)

_铁马冰河_ 2022-04-06 阅读 74
c语言

其他题目详见:浙大版《C语言程序设计(第3版)》题目集

一.题目描述:

习题5-4 使用函数求素数和 (20 分)

本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。

素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。

函数接口定义:

int prime( int p );

int PrimeSum( int m, int n );

其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数m≤n。
裁判测试程序样例:

#include <stdio.h>

#include <math.h>


int prime( int p );

int PrimeSum( int m, int n );

    

int main()

{

    int m, n, p;


    scanf("%d %d", &m, &n);

    printf("Sum of ( ");

    for( p=m; p<=n; p++ ) {

        if( prime(p) != 0 )

            printf("%d ", p);

    }

    printf(") = %d\n", PrimeSum(m, n));


    return 0;

}


/* 你的代码将被嵌在这里 */

输入样例:

输出样例:

二.代码示例:

int prime( int p )
{
	int j,leap = 1;
	if(p <= 1)
		return 0;
	for(j = 2 ; j < p ; j++)
	{
		if(p % j == 0)
		{
			leap = 0;
			return 0;
			break;
		}
	}
	if(leap)
		return 1;
}
int PrimeSum( int m, int n )
{
	int i,j,leap = 1,sum = 0;
	for(i = m ; i <= n ; i++)
	{
		for(j = 2 ; j < i ; j++)
		{
			if(i % j == 0)
			{
				leap = 0;
				break;
			}
		}
		if(leap)
			sum += i;
		leap = 1;
	}
	return sum;
}
举报

相关推荐

0 条评论