C语言根据要求求素数
什么是素数?
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)
😆😆😆😆😆😆😆😆😆😆😆
欢迎大家来学习~~~

/*
要求输出前50个素数,每五个换一行
什么是素数:除了 自身 和 1 不能被其他数整除的数
*/
#include <stdio.h>
int main()
{
int j = 1;
int count = 0;
if(j == 0) j = 2; // 因为1不是素数 ,特殊处理
while(count < 50){
int i;
int isPrime = 1; // 这里代表是素数
for(i = 2; i < j; i++)
{
if(i % j == 0)
{
isPrime = 0; //这里代表不是素数
break;
}
}
if(isPrime)
{
count ++;
printf("%d",i);
if(count % 5 == 0)
{
printf("\n");
}
}
j++;
}
return 0;
}
提取其中可重复利用部分,使用函数进行改装
#include <stdio.h>
// 定义功能函数
int isPrime(int j)
{
int i;
int ret = 1; // 这里代表是素数
for(i = 2; i < j; i++)
{
if(i % j == 0)
{
ret = 0; //这里代表不是素数
break;
}
}
return ret;
}
int main()
{
int j = 1;
int count = 0;
if(j == 0) j = 2; // 因为1不是素数 ,特殊处理
while(count < 50){
if(isPrime(j))
{
count ++;
printf("%d",i);
if(count % 5 == 0)
{
printf("\n");
}
}
j++;
}
return 0;
}
JAVA代码实现
package mazi.csdn;
public class Prime {
public static void main(String[] args) {
double sum = 0.0;
int ctx = 0;
for (int i = 1; i < 100; i++){
if(isPrime(i)){
sum += i;
ctx++;
}
}
System.out.println("ctx="+ctx +"\t sum = "+sum);
}
/**
* 判断素数的方法
* @param i 要判断的数
* @return 返回是不是素数
*/
public static boolean isPrime(int i){
if(i == 1) return false;
boolean ret = true;
for(int j = 2; j < i ; j++){
if(i % j == 0){
ret = false;
break;
}
}
return ret;
}
}
最后,感谢您的阅读,欢迎留言~~~👀👀👀👀
本文介绍了一种使用C语言编程来寻找并打印前50个素数的方法,并将每五个素数换行显示。此外,还提供了相应的Java实现示例。
1224

被折叠的 条评论
为什么被折叠?



