永发信息网

判断是否是素数

答案:2  悬赏:20  手机版
解决时间 2021-12-19 22:20
  • 提问者网友:像風在裏
  • 2021-12-19 17:29
判断是否是素数
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-12-19 18:44
问题一: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
全部回答
  • 1楼网友:冷風如刀
  • 2021-12-19 20:23
我检查一下我的答案
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯