c语言输入数字求素数和
时间: 2024-01-19 12:16:03 浏览: 80
以下是两种C语言输入数字求素数和的例子:
方法一:
```c
#include<stdio.h>
int main() {
int n, i, j, count = 0;
scanf("%d", &n);
for(i = 2; i <= n; i++) {
for(j = 2; j < i; j++) {
if(i % j == 0) {
break;
}
}
if(i == j) {
count++;
printf("%d ", i);
}
}
printf("\ncount=%d", count);
return 0;
}
```
方法二:
```c
#include<stdio.h>
int main() {
int n, i;
scanf("%d", &n);
for(i = 2; i < n; i++) {
if(n % i == 0) {
break;
}
}
if(n == i) {
printf("Yes");
} else {
printf("No");
}
return 0;
}
```
相关问题
用c语言对输入数字进行质数判断
好的,可以。以下是一个简单的 C 语言程序,用于判断一个输入的数字是否是质数:
```
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &num);
// 判断是否为质数
for (i = 2; i <= num / 2; ++i) {
// 如果能整除,则不是质数
if (num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0 && num != 1)
printf("%d 是质数", num);
else
printf("%d 不是质数", num);
return 0;
}
```
该程序从用户输入一个整数开始,进行循环判断直到判断出输入的数字是否是质数,并输出相应的结果。
c语言 输入两个质数输出最大的不能通过这两个数组合出的数字
在C语言中,如果你想要找出两个给定的质数之间最大不能由它们整除的数字,你可以采用一种简单的算法。首先,你需要让用户输入两个质数,然后从较大的质数开始减去较小的一个,一直检查每个结果是否为质数。如果找到的数不是质数,则它是满足条件的最大数。
以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdbool.h> // 使用bool类型
// 判断是否为质数函数
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
int main() {
int prime1, prime2;
printf("请输入第一个质数:");
scanf("%d", &prime1);
printf("请输入第二个质数:");
scanf("%d", &prime2);
if (prime1 > prime2) {
int temp = prime1;
prime1 = prime2;
prime2 = temp;
}
int max_not_divisible = prime2 - 1;
while (is_prime(max_not_divisible)) { // 只需要检查到比当前较小质数大的数
max_not_divisible--;
}
printf("两个质数之间最大不能通过数组合出的数字是:%d\n", max_not_divisible);
return 0;
}
```
在这个程序中,我们先判断输入的两个数是否为质数,然后从较大质数减一,每次检查这个数是否为质数,直到找到一个非质数为止。
阅读全文