永发信息网

判断是否是素数

答案:2  悬赏:20  手机版
解决时间 2021-12-19 22:20
判断是否是素数
最佳答案
问题一:c语言判断是不是素数的程序 同学你好!
你这里的问题有几个:
1.头文件错误;
2.printf后面不跟分号;
3.for语句逻辑错误;
下面是我改过的:(结果正确)
#include
main()
{
int m,i,k;
scanf(%d,&m);
k=m;
for(i=2;i=k)
printf(%d是素数,m);
else
printf(%d是合数,m);
}
希望我的回答对你有帮助,祝你的成绩进步!问题二:素数怎么判断!! 对于素数的程序,上面都很明确了,虽然效率不高,但是的确管用,一般学过几个课时后就能写出来。
我来回答为什么某数,只要判断到到根号M就可以确定它是不是素数了。
它如果存在因数,那么一定可以写成乘积的形式。比如M = 1 * M。
如果它存在两个因数,乘积等于M,这两个因处一定一个小于根号M,一个大于根号M,因为一定存在两个相等的数乘积等于它(当然可能不是整数),这两个数就是根号M,因为M = 根号M * 根号M。如果两个数都在根号M以下,乘起来小于M,如果两个数都在根号M以上,乘起来一定大于M,所以两个数分布于根号M两边,那么我们只要找到其中一半有没有这样一个整数就可以了。如果有,自然对应的另一半也有一个和它对应的数,使它们的乘积为M。
综上,对于以上的遍历求法,只需遍历到根号M即可。
abc2865610答案是错的,不是num/2,应该是类似于sqrt(num)
具体的开根函数各种语言不一样,C语言的话具体查阅math.h函数库就可以了问题三:java 判断是不是素数 判断number是否是素数有这么几种方法:
(1)用2至number海1之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。
(2)用2至number/2之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。
(3)用2至number的平方根之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。
这3种的方法的效率是逐渐提高的。下面列出了第3种方法的实现:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
int number; // 输入的数字
Scanner input = new Scanner(System.in);
System.out.println(请输入数字);
number = input.nextInt(); // 输入数字
if(isPrimeNumber(number)){
System.out.println(number + 是一个素数);
}
else{
System.out.println(number + 是一个非素数);
}
}
public static boolean isPrimeNumber(int num){
if(num k){
return true;
}
return false;
}
}
如果对你的程序进行修改,也可这样:
public static void main(String[] args) {
int number;// 输入的数字
int j = 2;
Scanner input = new Scanner(System.in);
System.out.println(请输入数字);
number = input.nextInt();// 输入数字
for(j=2;j=number)
System.out.pri......余下全文>>问题四:调用函数判断是否为素数 #include int prime(int n) { if(n 问题五:用C语言如何判断素数 所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数
另外判断方法还可以简化。m不必呗2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了。如果m不能被2~√m间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。(原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m。例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可)
#include
#include
void main()
{
int m,i,k;
printf(请输入一个整数:);
scanf(%d,&m);
k=(int)sqrt(m);
for(i=2;ik)
printf(%d 是素数。丁n,m);
else
printf(%d 不是素数。\n,m);
}问题六:C语言编程判断m是否为素数
#include
#include
void main()
{
int IsPrime(int m);
int n, flag;
printf(Input n:);
scanf(%d, &n);
flag 唬 IsPrime(n);
if ( flag)
printf(它是素数\n);
else
printf(它不是素数\n);
}
int IsPrime(int m)
{
int i, k;
if (m 问题七:如何用c语言编程判断一个数是不是素数? 判断素数的方法很多。
以数学方法为例,按照数学规则,如果在2~n-1中存在因子,则n不是素数。否则n为素数。
顶考代码如下:
int is_prime(int n)//判断n是否为素数。{ int i; for(i = 2; i 问题八:C语言中判断m是否素数 循环结束时为i=k+1)的意义是判断是否break出循环,i
全部回答
我检查一下我的答案
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
做单片机开发工作和前端开发哪个好一点?请列
帮助英文怎么说
两轮电动摩托要驾照吗?\
上海中环有出入口名称
宋朝以后是哪个朝代?
求下列图形的面积.(小方格边长是1cm)?(1
我走要在广州当兵。不知哪里招聘
移动宽带可以一个月一个月的办吗
请问,急问高手,我同事的孩子今年14岁了,在今
单选题西南区有较高航运价值的河流是A.金沙江
—Whataretheydoing?—Ithinkthey________the
李溪芮的老公是张云龙吗?
相机中的网格线有什么作用
再来一瓶怎么看得出来
中东地区的原油运输到日本,需要经过哪个海峡
推荐资讯
苹果6s怎么给信息加密,不用借助后下的软件那
东电社区居委会地址在哪?我要去那里办事
饭菜馊掉是什么变化
怎么变得有幽默感 20分
德牧七个月,还不立耳,有什么好办法吗?能让
高中数学理科都学哪几本选修(人教版)都讲了
四百点044精确到十分位的结果是
给小孩子画画用什么画板比较好呢?
单选题如果要研究北魏的农业,应查阅的文献是
当禅房村委会地址在哪?我要去那里办事
带水带土的女孩名字
营业利润为负,如何算占比
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?