用java寻找101-200之间的质数,求大神指出把下面各数分解质因数程序的错误,谢谢!

用JAVA 判断101-200之间有多少个素数,并输出所有素数? 第二个for语句后面就不懂了???什么意思?_百度知道
用JAVA 判断101-200之间有多少个素数,并输出所有素数? 第二个for语句后面就不懂了???什么意思?
public class kt {public static void main(String[] args) {
int count = 0;
boolean b =
for(int i=101; i&200; i+=2)
for(int j=2; j&=i-1; j++)
if(i % j == 0) { b = }
if(b == true) {count ++;
System.out.println(i );
System.out.println( &素数个数是: & + count); }
提问者采纳
public&class&kt&{&&public&static&void&main(String[]&args){&&&&int&count&=&0;&&&&for(int&i=101;&i&200;&i+=2){&&&//从101循环到200的奇数(&2的偶数不是素数)&&&&&&int&j=2;&&&&&&for(;&j&=i/2+1;&j++){&&&//从2循环到i/2+1(因为比i/2大的数不可能整除i)&&&&&&&&if(i&%&j&==&0)&&&&//判断j是否能整除i,能则中断对j的循环&&&&&&}&//for&j&&&&&&if(j==i/2+1)&count++;&&&&//如果j=i/2+1说明比i/2+1小的数都不能整除i,也就是质数&&&&}//for&i&&&&System.out.println(&&素数个数是:&&&+&count);&&}//main}
提问者评价
其他类似问题
为您推荐:
素数的相关知识
其他4条回答
我直接对你下面那2个追问回答吧。素数的定义本身就是只能被1和自身所整除的数字。for(int&j=2;&j&=i-1;&j++){ if(i&%&j&==&0)&{&b&=&&&}& else
&&&{&b&=&&}}这里面的for循环,从2开始可以去掉1,到j-1结束就是去掉自身j。如果i对除1和自身以外的结果都不能取余为0(也就是不能整除)的话。那他也就是素数,符合自身定义。
首先理解什么是素数
素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数第二个for循环
i是101到200的一个数
i%j是否等域零
如果等于零就说明这个数不是素数
for(int j=2; j&=i-1; j++);j&=i-1什么意思?
j是最小的素数
j每次循环都会加1
i是你要比较素数
就是i每次和小与它的数比较 主要获得
2到i中的数 当条件不满足就会退出循环
第二个for循环是为了判断这个数是不是素数,素数不能被其他的数整除,他循环从2到他本身小一,循环一次判断是不是被整出了
for(int j=2; j&=i-1; j++);j&=i-1什么意思?
根据素数的定义,素数只能被1和它本身整除。i表示101—200之间的数,第二个for语句表示2至比这个数小一的数,如果期间,有一个能被其整除,就不是素数,是素数,count加一。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请教用java编程时遇到的问题:输出101至200内的质数_百度知道
请教用java编程时遇到的问题:输出101至200内的质数
下面这是我自己写出的程序,运行结果是错的,但是经过反复检查后,还是没能发现自己到底错在哪?代码如下:public class TestNum2{
public static void main(String []args){
boolean flag=
System.out.print(&101至200内的质数:&);
for(int i=101;i&=200;i+=2){
for(int j=2;j&i;j++){
if(i%j==0){
if(!flag){
System.out.print(i+& &);
提问者采纳
boolean flag=放错地方了,应该放在第一个for循环里开头出。 for (int i = 101; i &= 200; i += 2) {
boolean flag =
for (int j = 2; j & j++) {
提问者评价
其他类似问题
public class TestNum2 {public static void main(String []args){
System.out.print(&101至200内的质数:&);
for(int i=101;i&=200;i+=2){
for(int j=2;j&j++)
if(i%j==0){
System.out.print(i+& &);
为您推荐:
质数的相关知识
其他1条回答
for(int i=101;i&=200;i+=2){
for(int j=2;j&i;j++){上面两行之间加个了flag=
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁页面导航:
→ 正文内容 100-200之间所有素数求和
100-200之间所有素数求和程序代码(二个版本)
写一个求100-200之间素数,并求和的程序,大家参考使用吧
素数就是质数,就是只能被1整除,不能被其他数整除的数
java程序为:
代码如下:public static void main(String[] args) {&&&&&&& //程序打印出从100到200的所有素数并求和; &&&&&&& int Sum = 0;&&&&&&& for (int i = 100; i &= 200; i++) {&&&&&&&&&&& boolean flag =&&&&&&&&&&& /*内嵌了一个for循环,作用是用100到200之间的每一个数,从2一直除到它本身,如果等于0的话,那么就不属于素数,就把flag置为false*/ &&&&&&&&&&& for (int j = 2; j &= i - 1; j++) {&&&&&&&&&&&&&&& if (i % j == 0)&&&&&&&&&&&&&&&&&&& flag =&&&&&&&&&&& }&&&&&&&&&&& if (flag) {//只有当flag为true的时候,才会这里走。&&&&&&&&&&&&&&& Sum = Sum +//每一次循环都让sum加上这个素数i,然后重新赋值给sum&&&&&&&&&&&&&&& System.out.print(i+",");&&&&&&&&&&& }&&&&&&& }&&&&&&& System.out.println("所有素数总和为:"+Sum);&&& }
网友写的版本为:
代码如下:#include &iostream.h&
//程序打印出从100到200的所有素数并求和;
void main() {
cout&&"100-200之间的所有素数为:"&& /*这是提示语句,没有实际作用;*/
int k=0; //在主程序中定义了一个整型变量k,用来存放下载所有质数的和,默认值是0;
/*下面的是双FOR循环,外面的循环从100开始,以步进为1,递增到200,判断这之间的每一个数是否为质数*/ &for (int i=100;i&=200;i++) { int m=0;/*m是计数器,它的作用很重要,每循环一次,它要自动清零,做好下次计数的准备*/ /*内嵌了一个for循环,作用是用100到200之间的每一个数,从1一直除到它本身,比如第一个数100,从1开始除,一直 除到它本身*/ for (int a=1;a&=i;a++) { /*每除一次,如果余数为0,那么计数器m的值自增加1*/ if(i%a==0) m++;
} /*经过了一次循环,结果出来了,如果m的值为2,这就说明了这个数只能被1和它本身整除, 这个就是质量数了.接着把这个数打印出来,后面还根了一个k+=i;语句,这是把每一个得出的质数 自加,并赋给k本身,以便求出这些质数的和*/
if(m==2){ cout&&i&&" ";k+=i;}
cout&&"这些素数的和为:"&&k&&/*这里就得出了所有求得的质数的和了,也就是k最终的值*/ }
所有的质数为:101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199
所有素数总和为:3167
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910经典JAVA编程题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
经典JAVA编程题
一​些​经​典​的​J​A​V​A​编​程​题​目
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢}

我要回帖

更多关于 酷派大神f2 的文章

更多推荐

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

点击添加站长微信