编写一个函数isprime(int n),用于判断某一正整数n是否为素数,如果n是素数则函数的值返回1,否则返回0。用main()函数调用该函数。运行程序,分别输入17和38,查看运行结果。
时间: 2023-05-31 14:19:05 浏览: 1725
### 回答1:
以下是代码实现:
```c
#include <stdio.h>
int isprime(int n) {
if (n <= 1) {
return ;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == ) {
return ;
}
}
return 1;
}
int main() {
int n1 = 17, n2 = 38;
printf("%d is %s prime\n", n1, isprime(n1) ? "" : "not");
printf("%d is %s prime\n", n2, isprime(n2) ? "" : "not");
return ;
}
```
运行结果:
```
17 is prime
38 is not prime
```
### 回答2:
素数,也叫质数,是指只能被1和它本身整除的正整数。编写一个函数isprime(int n),就是要判断给定的正整数n是否是素数,如果是素数则返回1,如果不是素数则返回0。可以通过执行main()函数来调用isprime()函数,输入不同的正整数n,得到对应的运行结果。
isprime()函数的实现思路:从2开始进行循环,判断n是否能被2~(n-1)之间的任意一个数整除,如果能,则n不是素数;如果不能,则n是素数。
具体实现如下:
```c++
#include <iostream>
using namespace std;
// 定义函数isprime
int isprime(int n)
{
// 如果n小于等于1,则不是素数
if(n <= 1)
return 0;
// 从2开始循环判断
for(int i = 2; i < n; i++)
{
if(n % i == 0)
return 0; // n能被i整除,n不是素数
}
// 如果循环结束,都没有找到能够整除n的数,则n是素数
return 1;
}
// 主函数
int main()
{
int n1 = 17, n2 = 38;
// 调用isprime函数,判断n1是否是素数
if(isprime(n1))
cout << n1 << "是素数!" << endl;
else
cout << n1 << "不是素数!" << endl;
// 调用isprime函数,判断n2是否是素数
if(isprime(n2))
cout << n2 << "是素数!" << endl;
else
cout << n2 << "不是素数!" << endl;
return 0;
}
```
程序运行结果如下:
```
17是素数!
38不是素数!
```
分别输入17和38,程序输出了对应结果,验证了isprime()函数的正确性。
### 回答3:
题目要求编写一个函数isprime(int n),用于判断某一正整数n是否为素数,如果n是素数则函数的值返回1,否则返回0。为了实现这一功能,我们需要知道素数的定义:只有1和本身两个约数的正整数称为素数。因此,我们可以写出如下程序:
```C++
#include<iostream>
using namespace std;
int isprime(int n)
{
int i;
if(n<=1) //1不是素数
return 0;
for(i=2;i<=n/2;i++)
{
if(n%i==0) //n能被i整除
return 0;
}
return 1; //n是素数
}
int main()
{
int n1=17,n2=38;
if(isprime(n1))
cout<<n1<<"是素数"<<endl;
else
cout<<n1<<"不是素数"<<endl;
if(isprime(n2))
cout<<n2<<"是素数"<<endl;
else
cout<<n2<<"不是素数"<<endl;
return 0;
}
```
程序的运行结果如下:
```
17是素数
38不是素数
```
程序先定义了函数isprime(int n),然后在main()函数中分别调用该函数判断17和38是否为素数。我们可以发现,该程序的运行结果与我们手工计算的结果一致。而且,该程序还具有通用性,可以判断任意正整数是否为素数。
阅读全文