531127是不是素数数

3是不是质数_百度作业帮
3是不是质数
3是不是质数
是,多体味一下质数的定义.质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数(不包括0)整除的数.共有 4878 人关注过本帖
标题:给出一个大于或等于 3 的正整数,判断它是不是一个素数
用C语言编程
等 级:新手上路
&&问题点数:0&&回复次数:11&&&
给出一个大于或等于 3 的正整数,判断它是不是一个素数
用C语言编程
给出一个大于或等于3的正整数,判断它是不是一个素数&&&用C语言编程
我编的程序有错误,求大神指点!!!!
#include&stdio.h&
int main()
&&& int n,i=2;
&&& printf(&从键盘输入一个数n:&);
&&& scanf(&%d&,&n);
&&& for(i=2;i&=n-1;i++)
&&&&&&&&if(n%i==1)
&&&&&&&&&&&&printf(&n是素数&);
&&&&&&&&&&&&
&&& if(n%i==0)
&&&&&&&&&&&&printf(&n不是素数&);
&&&&&&&&&&&&&&&
&&&&&&&&}&&&
搜索更多相关主题的帖子:
等 级:新手上路
#include&stdio.h&
int main()
&&& int n,i=2;
&&& printf(&从键盘输入一个数n:&);
&&& scanf(&%d&,&n);
&&& if(n%i==0)
&&&&&&&&&&&&printf(&n不是素数&);
&&&&&&&&&&&&&&&
&&&&&&&&}&&&
&&& for(i=2;i&=n-1;i++)
&&&&&&&&if(n%i==1)
&&&&&&&&&&&&printf(&n是素数&);
&&&&&&&&&&&&
来 自:大汉
等 级:贵宾
威 望:16
帖 子:583
专家分:4376
2楼的程序不是可以运行,没有错误吗???
女人没有魅力,别怪男人花心;男人没有本事,别怪女人太现实。
等 级:版主
威 望:268
帖 子:21838
专家分:41811
最有效和直接的方法,就是查素数表,啥技术都不用,而且超高效。
授人以渔,不授人以鱼。
来 自:芒砀古郡
等 级:蜘蛛侠
帖 子:323
专家分:1140
回复 4 楼 TonyDeng
c语言交流群大家可以加下一起分享成长
等 级:贵宾
威 望:27
帖 子:2722
首先, 你要搞清楚素数的定义:
质数,又称素数,指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数。
来源: http://zh.wikipedia.org/wiki/素数
所以验证一个数n是不是素数的基本方法, 就是用所有[2,n-1]范围内的数去试除, 如果能整除, 说明这个数不是素数, 如果所有的数都不能整除, 那么这个数就是素数
然后看C语言如何验证a是否可以被b整除, 这个你是知道的, 就是
程序代码:if (a % b == <font color=#) { ... }
接下来是要用到循环了, 这个看来对你也不是问题
程序代码:
for (i = <font color=#; i & n - <font color=#; ++i)
&&if (n % i == <font color=#)
你的程序的主要问题, 在于对判断逻辑的处理
素数的要求是, 所有[2,n-1]范围的数都不能整除, 也就是说, 只要有任何一个数能整除, n就不是素数
对于这种类型的问题, 一般用一个变量来记录判断的结果
程序代码:
int is_prime = <font color=#;&&
for (i = <font color=#; i & n - <font color=#; ++i)
&&if (n % i == <font color=#)
&&& is_prime = <font color=#;
&&& break;
最主要的思想就是:
你在循环体里面, 只能确定判断出一个数不是素数, 但无法确定一个数肯定是素数
只有当所有不是素数的判断都失败了, 才能确认这个数是素数
现在可以通过判断is_prime这个变量的值, 来确定n是不是素数了
程序代码:
if (is_prime == <font color=#)
&&printf(&%d 不是素数\n&, n);
&&printf(&%d 是素数\n&, n);
至此, 判断素数的基本方法已经完成, 完整的程序就需要你自己来完成了
但是要注意上面的程序还有很多可以改进的地方, 比如:
1. 判断素数这是一个独立的功能, 可以封装成一个函数, 这样以后修改的时候, 会方便很多
2. 实际上不需要试除[2,n-1], 只要试除[2,sqrt(n)]就可以了
最后, 是关于效率的问题, 这需要具体问题具体分析, 得知道数据规模和可用资源, 才能确定一种最优的办法, 这就不是几十页纸能讲清楚的了, 如果感兴趣的话, 可以求助Google大神
从BFS(Breadth First Study)到DFS(Depth First Study)
来 自:china
等 级:版主
威 望:246
帖 子:11425
专家分:33003
以下是引用永夜的极光在 13:02:35的发言:
首先, 你要搞清楚素数的定义:
所以验证一个数n是不是素数的基本方法, 就是用所有[2,n-1]范围内的数去试除, 如果能整除, 说明这个数不是素数, 如果所有的数都不能整除, 那么这个数就是素数
然后看C语言如何验证a是否可以被b整除, 这个你是知道的, 就是
if (a % b == 0) { ... }
接下来是要用到循环了, 这个看来对你也不是问题
for (i = 2; i & n - 1; ++i)
&&if (n % i == 0)
你的程序的主要问题, 在于对判断逻辑的处理
素数的要求是, 所有[2,n-1]范围的数都不能整除, 也就是说, 只要有任何一个数能整除, n就不是素数
对于这种类型的问题, 一般用一个变量来记录判断的结果
int is_prime = 1;&&&
for (i = 2; i & n - 1; ++i)
&&if (n % i == 0)
&&& is_prime = 0;
最主要的思想就是:
你在循环体里面, 只能确定判断出一个数不是素数, 但无法确定一个数肯定是素数
只有当所有不是素数的判断都失败了, 才能确认这个数是素数
现在可以通过判断is_prime这个变量的值, 来确定n是不是素数了
if (is_prime == 0)
&&printf(&%d 不是素数\n&, n);
&&printf(&%d 是素数\n&, n);
至此, 判断素数的基本方法已经完成, 完整的程序就需要你自己来完成了
但是要注意上面的程序还有很多可以改进的地方, 比如:
1. 判断素数这是一个独立的功能, 可以封装成一个函数, 这样以后修改的时候, 会方便很多
2. 实际上不需要试除[2,n-1], 只要试除[2,sqrt(n)]就可以了
最后, 是关于效率的问题, 这需要具体问题具体分析, 得知道数据规模和可用资源, 才能确定一种最优的办法, 这就不是几十页纸能讲清楚的了, 如果感兴趣的话, 可以求助Google大神
大神您来了
誓死捍卫呵&#173;呵权
加群畅所欲言
个人网站 all-things-zklhp.tk chris-an-emacser.tk chriszheng.science 我的项目 emacs-w64.tk
等 级:贵宾
威 望:27
帖 子:2722
以下是引用zklhp在 13:03:50的发言:
大神您来了
我离大神的境界还差远了
好久没上论坛了, 今天偶然路过, 留下一点脚印, 希望能帮助到楼主
从BFS(Breadth First Study)到DFS(Depth First Study)
来 自:china
等 级:版主
威 望:246
帖 子:11425
专家分:33003
以下是引用永夜的极光在 13:10:22的发言:
我离大神的境界还差远了
好久没上论坛了, 今天偶然路过, 留下一点脚印, 希望能帮助到楼主
欢迎您常回来看看
誓死捍卫呵&#173;呵权
加群畅所欲言
个人网站 all-things-zklhp.tk chris-an-emacser.tk chriszheng.science 我的项目 emacs-w64.tk
来 自:江西省赣州市于都县
等 级:业余侠客
帖 子:119
专家分:233
高手也来了
版权所有,并保留所有权利。
Powered by , Processed in 0.028457 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved25是不是质数_百度知道
25是不是质数
提问者采纳
桜子の凌,你好!25不是质数,因为他的因数有1、5、25三个。而质数的因数仅有1和他本身。
来自团队:
其他类似问题
为您推荐:
您可能关注的推广
质数的相关知识
其他9条回答
不是 25=5X5 有约数5
不是。质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。
晕,这个数是5的平方啊?不是 25=5X5 有约数5
不是质数,有1,25,5,5,四个因数。
25肯定不是质数,它的因数有3个所以不是,质数的因数只有1个。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁113是不是质数_百度作业帮
113是不是质数
113是不是质数
是.200以内的质数:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
质数又称素数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。所以是质数
就是除了1和它本身以外不能被其它数整除的数。
是,查质数表即可
是的,它只能被1和113整除,所以是
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。113只可以被1和113整除,再也没有其他的数了,所以它是质数。
判断一个比较大的数是不是质数,就用它去除以比它小的质数,看能不能整除。这里,用113除以2,3,5,7,11都不能整除,所以113是指数。这里113〈11X11,所以只用11之前的质数判断即可。
看他的公约数就知道,只能被1和113整除,因此是质数
质数(又称为素数) 1.就是在所有比1大的整数中,除了1和它本身以外,不再有别的因数,这种整数叫做质数。还可以说成质数只有1和它本身两个约数。所以113是质数
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数而113只能被1和113整除 所以为质数
希望对你有帮助
是,质数表可以查到,更详细的可以参考百科中质数的解释。(网址如下)
末尾是3大多数都是质数1192人阅读
JAVA&Thread
一、java&thread判断一个数是不是素数、
二、详细说明:
素数判断:用试除法判断一个自然数是不是质数时,用各个质数从小到大依次去除,如果到某一个质数正好整除,这个就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定必然是质数.
三、程序说明:
本程序采用的java&thread,创建了两个线程同时对该数是不是素数进行判断,第一个线程用来判断从1到根号(该数)的范围内的奇数能不能整除,如果能的话就是非素数。第二个线程判断从2到根号(该数)的范围内的偶数能不能整除,如果能的话就是非素数,如果不能则是素数。
四、程序代码
public class WyThread extends Thread {
private int flag=0;
public int getI() {
public void setI(int i) {
public int getNum() {
public void setNum(int num) {
this.num =
public int getFlag() {
public void setFlag(int flag) {
this.flag =
public WyThread(int i,int num)
public void run()
for(;i&i+=2)
if (flag == 0)
if (num % i == 0 && i != 1)
public static void main(String[] args) throws InterruptedException
int m=(int)Math.sqrt(c);
WyThread wy1=new WyThread(1,m);
WyThread wy2=new WyThread(2,m);
long startTime1=System.currentTimeMillis();
wy1.start();
wy2.start();
wy1.join();
wy2.join();
long endTime1=System.currentTimeMillis();
if(wy1.getFlag()==0&&wy2.getFlag()==0)
System.out.println(c+&是素数&);
System.out.println(c+&不是素数!&);
System.out.println(endTime1-startTime1);
int flag=0;
long startTime2=System.currentTimeMillis();
for(int i=1;i&m;i++)
if (flag == 0)
if (c % i == 0 && i != 1)
if(flag==0)
System.out.println(c+&是素数&);
System.out.println(c+&不是素数!&);
long endTime2=System.currentTimeMillis();
System.out.println(endTime2-startTime2);
System.out.println((endTime2-startTime2)/(endTime1-startTime1));
一、openMp判断一个数是不是素数、
二、详细说明:
素数判断:用试除法判断一个自然数是不是质数时,用各个质数从小到大依次去除,如果到某一个质数正好整除,这个就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定必然是质数.
三、程序说明:
本程序采用的openMp,采用的是parallel&for循环的形式进行判断的
四、程序代码
// OpenMp.cpp : 定义控制台应用程序的入口点。
#include &stdafx.h&
#include &omp.h&
#include &iostream&
#include &math.h&
int _tmain(int argc, _TCHAR* argv[])
int flag=0;
m=(int)sqrt(c);
#pragma omp parallel
#pragma omp parallel for
for(int i=1;i&=m;i+=2)
if(flag==0)
if(c2%i==0&&i!=1)
#pragma omp parallel for
for(int i=2;i&=m;i+=2)
if(flag==0)
if(c2%i==0)
if(flag==0)
cout&&c&&&是素数&&&
cout&&c&&&不是素数&&&
Java&Runnable
一、JavaRunnable判断一个数是不是素数、
二、详细说明:
素数判断:用试除法判断一个自然数是不是质数时,用各个质数从小到大依次去除,如果到某一个质数正好整除,这个就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定必然是质数.
三、程序说明:
本程序采用的javaRunnable,创建了两个线程同时对该数是不是素数进行判断,第一个线程用来判断从1到根号(该数)的范围内的奇数能不能整除,如果能的话就是非素数。第二个线程判断从2到根号(该数)的范围内的偶数能不能整除,如果能的话就是非素数,如果不能则是素数。
四、程序代码
public class RunnableSuShu implements Runnable
private int flag=0;
public int getFlag() {
public RunnableSuShu(int i,int num)
public void run() {
// TODO Auto-generated method stub
for(;i&i+=2)
if (flag == 0)
if (num % i == 0 && i != 1)
public class ThreadWy {
public static void main(String[] args) {
int m=(int)Math.sqrt(c);
RunnableSuShu wy1=new RunnableSuShu(1, m);
RunnableSuShu wy2=new RunnableSuShu(2, m);
long startTime1=System.currentTimeMillis();
wy1.run();
wy2.run();
long endTime1=System.currentTimeMillis();
if(wy1.getFlag()==0&&wy2.getFlag()==0)
System.out.println(c+&是素数&);
System.out.println(c+&不是素数!&);
System.out.println(endTime1-startTime1);
int flag=0;
long startTime2=System.currentTimeMillis();
for(int i=1;i&m;i++)
if (flag == 0)
if (c % i == 0 && i != 1)
if(flag==0)
System.out.println(c+&是素数&);
System.out.println(c+&不是素数!&);
long endTime2=System.currentTimeMillis();
System.out.println(endTime2-startTime2);
System.out.println((endTime2-startTime2)/(endTime1-startTime1));
一、Win32API判断一个数是不是素数、
二、详细说明:
素数判断:用试除法判断一个自然数是不是质数时,用各个质数从小到大依次去除,如果到某一个质数正好整除,这个就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定必然是质数.
三、程序说明:
本程序采用的Win32API,创建了两个线程同时对该数是不是素数进行判断,第一个线程用来判断从1到根号(该数)的范围内的奇数能不能整除,如果能的话就是非素数。第二个线程判断从2到根号(该数)的范围内的偶数能不能整除,如果能的话就是非素数,如果不能则是素数。
四、程序代码
#include &stdafx.h&
#include &windows.h&
#include &process.h&
#include &math.h&
#include &iostream&
#include &fstream&
int flag=0;
HANDLE Thread1,Thread2;
void StartThread1(LPVOID param)
for(int i=1;i&=m;i+=2)
if(flag==0)
if(c2%i==0&&i!=1)
void StartThread2(LPVOID param)
for(int j=2;j&=m;j+=2)
if(flag==0)
if(c2%j==0)
int _tmain(int argc, _TCHAR* argv[])
m=sqrt(c);
c2=(int)c;
Thread1=CreateEvent(NULL,FALSE,FALSE,NULL);
//cout&&&1&&&
Thread2=CreateEvent(NULL,FALSE,FALSE,NULL);
//cout&&&2&&&
_beginthread(StartThread1,0,NULL);
//cout&&&3&&&
_beginthread(StartThread2,0,NULL);
//cout&&&4&&&
//WaitForSingleObject(Thread2,INFINITE);
cout&&&5&&&
if(flag==0)
cout&&&是素数&&&
cout&&&不是素数&&&
cin&&c;//保留输出框
一、.NET判断一个数是不是素数、
二、详细说明:
素数判断:用试除法判断一个自然数是不是质数时,用各个质数从小到大依次去除,如果到某一个质数正好整除,这个就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定必然是质数.
三、程序说明:
本程序采用的.NET,创建了两个线程同时对该数是不是素数进行判断,第一个线程用来判断从1到根号(该数)的范围内的奇数能不能整除,如果能的话就是非素数。第二个线程判断从2到根号(该数)的范围内的偶数能不能整除,如果能的话就是非素数,如果不能则是素数。
四、程序代码
.NET并行判断一个数是不是素数
using System.Collections.G
using System.L
using System.T
using System.T
namespace DotNetWyYt
class Program
public static int flag = 0;
public static int c2;
public static void WithDraw1()
for (int i = 1; i &= i += 2)
if (flag == 0)
if (c2 % i == 0 && i != 1)
public static void WithDraw2()
for (int j = 2; j &= j += 2)
if (flag == 0)
if (c2 % j == 0)
static void Main(string[] args)
c = 12323;
m = (Int32)Math.Sqrt((double)c);
c2 = (int)c;
DateTime d1 = new DateTime();
ThreadStart thread1 = new ThreadStart(WithDraw1);
Thread newThread1 = new Thread(thread1);
ThreadStart thread2 = new ThreadStart(WithDraw2);
Thread newThread2 = new Thread(thread2);
newThread1.Start();
newThread2.Start();
DateTime d2 = new DateTime();
Console.WriteLine(d2-d1);
if (flag == 0)
Console.WriteLine(c+&是素数&);
Console.WriteLine(c+&23不是素数&);
Console.Read();
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:138687次
积分:2690
积分:2690
排名:第6791名
原创:130篇
评论:42条
(1)(6)(3)(1)(1)(1)(2)(8)(16)(16)(6)(2)(1)(13)(29)(2)(16)(10)}

我要回帖

更多关于 2是不是素数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信