用JAVA找出1000内素数

如题所述

找出素数的思路是:
循环这10000个数,将每一个数都除以从2到比它小的所有整数,如果能够整除,则不为素数,否者为素数
n在这里是起到一个标志的作用,原值赋为1
当a%m==0时(即有除了1跟其本身的其他因子的时候)
n值就改变为0
以n的值来区分到底要不要输出该值
当n!=0的时候,就是没有执行if语句,说明a为某值的时候,a%m==0一直没有满足,不就是没有因子嘛,
总之
n相当于一个flag
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-07
n=0是为了做标识,标志这个数不是素数了。
n=1是为了给n一个初始值。
n!=0就说明他是素数。
这你好好看看啊,代码的意思就是
1<a<1000
1<m<a
代码逻辑就是说a除以(2到a之间的数),如果有能整除的说明他不是素数(素数只能整除1或者它本身)。本回答被提问者采纳
第2个回答  2020-02-06
开始初始值
n=1,只是为了起到一个标志作用,你可以给它任何一个不等0的整数值,原因则和后面的问题答题一样。
后面的n!=0是因为,在内层for判断(a%2)等0时将n赋值为0,表示现在这个a不是素数,
而n则是作为一个判断是否为素数的标志,n=0表示不是素数,反之,则是。
第3个回答  2020-03-02
n=1开始的时候先默认这个数字不是质数,n=多少都没关系,不是0就可以
后面自循环会判断时候有能整除的,有则n被改成0
如果没有,则n一直还是1
最后会根据这个n的值来判断a是否为质数
相似回答