您现在的位置是:首页 > C语言教程 > 正文

C语言实现:计算并输出100以内的素数及其总和

编辑:本站更新:2024-05-11 13:54:18人气:6102
在计算机编程的世界中,C语言作为一门强大的、底层的程序设计语⾔,其简洁明了且高效的特性使之成为解决各类问题的理想工具。下面我们将通过一个实例来深入探讨如何使用C语言实现在100以内找出所有的素数,并进一步计算这些素数之和。

首先,在数学领域内定义的“质数”是指只有 1 和本身两个正因数的大于 1 的自然数。因此编写这样的算法时需要对每个从2到99之间的整数进行判断——它除了自身与1之外是否还有其他因子。如果不存在,则该数字为素数。

以下是一个简单的分步骤解析:

第一步是初始化相关变量及数组结构。我们需要设定循环上限(这里是100),创建用于存储找到的所有素数的空间以及设置累计求和的初始值为零。

c

#include <stdio.h>

int main() {
int limit = 100;
int primes[limit / 4]; // 素数通常占所有数的比例小于一半,所以这里大致估算空间大小
int prime_count = 0;
long sum_of_primes = 0L;


第二步,遍历2至`limit-1`(即从2开始检查直到99)之间每一个可能的素数候选者 `num` 。对于每一个 `num` ,我们采用一种称为"试除法”的方法去检测它的素性。

c

for (int num=2; num<limit; ++num){

if(num == 2){ // 特殊处理偶数情况,仅2为唯一的偶数素数
primes[prime_count++] = num;
sum_of_primes += num;
continue;
}

for(int i=2;i<=sqrt(num);++i){
// 只需检验√n范围内的数即可,若超过这个范围没有能被整除则表明此数为素数
if(num % i==0)
break;

else if(i > sqrt(num)){
primes[prime_count++] = num;
sum_of_primes += num;
break;
}
}
}


第三步,完成上述过程后,打印出所发现的全部素数并将它们相加得到的结果输出:

c

printf("The prime numbers under the number of 100: \n");
for(int j = 0;j<prime_count;++j)
{
printf("%d ",primes[j]);
}

printf("\nThe total sum of these prime numbers is :%ld\n",sum_of_primes);
return 0;


将以上代码段整合在一起就构成了完整的查找并累加100以内的所有素数的C语言实现方案。运行这段程序将会依次列出符合条件的素数列表,并最后显示他们的总和,生动地展示了 C 语言精确控制数据流的能力和高效解决问题的特点。同时这也体现了理论知识如算术基本定理等在实际编码中的应用价值。
关注公众号

www.php580.com PHP工作室 - 全面的PHP教程、实例、框架与实战资源

PHP学习网是专注于PHP技术学习的一站式在线平台,提供丰富全面的PHP教程、深入浅出的实例解析、主流PHP框架详解及实战应用,并涵盖PHP面试指南、最新资讯和活跃的PHP开发者社区。无论您是初学者还是进阶者,这里都有助于提升您的PHP编程技能。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

最新推荐

本月推荐