写一个判别素数的函数,在主函数中输入一个整数,输出是否为素数的信息。

写一个判别素数的函数,在主函数中输入一个整数,输出是否为素数的信息。

#include <stdio.h>
int sushu(int m)
{
int i,n=0;
for(i=2;i<m;i++)
{
if (m%i==0)
n++;
}
return n;
}

void main()
{
int sushu(int m);
int m;
printf (“Please enter a number\n”);
scanf ("%d",&m);
if (sushu(m)==0)
printf("%dshisushu\n",m);
else
printf("%dbushisushu\n",m);
}

在这里插入图片描述

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 下面是一个判别素数函数,可以在函数输入一个整数输出是否素数信息: ```python def is_prime(n): if n <= 1: return False for i in range(2, int(n ** .5) + 1): if n % i == : return False return True n = int(input("请输入一个整数:")) if is_prime(n): print(n, "是素数") else: print(n, "不是素数") ``` 函数is_prime(n)的作用是判断一个整数n是否素数,如果是素数则返回True,否则返回False。具体实现方法是从2到n的平方根范围内遍历所有可能的因子,如果n能被其任意一个因子整除,则说明n不是素数,返回False;否则说明n是素数,返回True。 在函数,我们首先输入一个整数n,然后调用is_prime(n)函数判断n是否素数。如果是素数,则输出“n是素数”,否则输出“n不是素数”。 ### 回答2: 判别素数函数一般使用质数的性质——只能被1和本身整除。因此可以从2开始向上找能否整除函数输入的数字,如果找到则不是素数。 以下是一个判别素数函数示例: ```python def is_prime(n): if n <= 1: # 小于等于1的数不是素数 return False elif n == 2: # 2是素数 return True else: for i in range(2, int(n**0.5) + 1): if n % i == 0: return False # 能被i整除,不是素数 return True # 无法被除1和自身外的数整除,是素数 ``` 解释: 1. 首先判断小于等于1的数不是素数,2是素数。 2. 然后从2开始到n的平方根向上取整的范围内循环,判断是否能被整除,若能则不是素数,立即退出函数。 3. 若经过完整循环后没有返回False,即无法被除1和自身外的数整除,则该数是素数,返回True。 在函数,我们将输入的数字传入该函数进行判断,并输出是否素数信息。Sample Code如下: ```python num = int(input("请输入一个正整数:")) # 获取输入整数 if is_prime(num): # 判断是否素数 print("%d是素数" % num) else: print("%d不是素数" % num) ``` 这样就可以在函数根据用户输入的正整数输出相应结果。 ### 回答3: 素数是指只能被1和本身整除的正整数,如2、3、5、7、11等,而合数则是可以被其他正整数整除的数。在这里,我们需要编一个判别素数函数,并在函数调用这个函数,来判断输入整数是否素数判别素数函数可以采用试除法,也就是从2开始,试图将该数进行整除操作,如果除数大于该数的平方根,则停止循环,返回true;如果能被整除,则返回false;否则,继续用下一个整数尝试整除。根据小学的乘法分解定理,任何一个合数都必有不等于1的质因数,这个质因数必定小于或等于它的平方根,因此循环的终点可以设为平方根即可。 下面是一个用C++编判别素数函数的代码: ```cpp bool isPrime(int n){ if(n<=1) return false; //小于2的数都不是素数 int sqrtn = sqrt(n); for(int i=2;i<=sqrtn;i++){ if(n%i==0) return false; //能被整除则不是素数 } return true; //除了1和本身之外不能被任何数整除,因此是素数 } ``` 在函数,我们可以读入一个整数n,然后调用这个函数来判断n是否素数: ```cpp int main(){ int n; cout<<"请输入一个整数n:"<<endl; cin>>n; if(isPrime(n)){ cout<<n<<"是素数!"<<endl; } else{ cout<<n<<"不是素数。"<<endl; } return 0; } ``` 这样就可以根据输入整数判断出它是否素数了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值