用DevC++编程实现:从键盘上任意输入一个正整数,若为素数则输出。
时间: 2024-05-05 19:16:57 浏览: 20
```c
#include <stdio.h>
int main()
{
int n, i, flag = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
for(i = 2; i <= n/2; i++)
{
if(n % i == 0)
{
flag = 0;
break;
}
}
if(flag == 1)
printf("%d是素数。\n", n);
else
printf("%d不是素数。\n", n);
return 0;
}
```
说明:
1. 首先从键盘上输入一个正整数n;
2. 然后使用for循环判断n是否为素数,判断方法为:从2到n/2,依次判断n能否被整除,若能被整除,则说明n不是素数,否则n为素数;
3. 最后根据flag的值输出结果。若flag为1,则说明n是素数,否则n不是素数。
相关问题
用MATLAB编程实现:从键盘输入任意个正整数,以0结束,输出那些正整数中的素数。
以下是MATLAB的代码实现:
```matlab
while true
n = input('请输入一个正整数(输入0结束):');
if n == 0
break;
end
is_prime = true;
for i = 2:sqrt(n)
if mod(n, i) == 0
is_prime = false;
break;
end
end
if is_prime && n > 1
fprintf('%d 是素数\n', n);
end
end
```
代码逻辑为:使用一个while循环不断从键盘输入正整数,当输入0时跳出循环。对于每个输入的正整数,使用一个for循环判断其是否为素数。如果是素数,则输出结果。需要注意的是,0不是素数,因此只有大于1的正整数才有可能是素数。
用C语言写:从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和
好的,这是一个计算素数之和的问题,我可以回答。以下是代码实现:
```c
#include <stdio.h>
int main()
{
int n, i, j, sum = 0;
printf("请输入一个整数n:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
break;
}
}
if (j > i / 2) {
sum += i;
}
}
printf("1~%d之间的素数之和为:%d", n, sum);
return 0;
}
```
这段代码可以计算并输出1~n之间的所有素数之和。