用C++求100到1000之间的质数
#include<iostream.h>voidmain(void){inti,n;for(n=100;n<=1000;n++)if(n%i==0)break;elsec...
#include <iostream.h>void main(void){int i,n;for (n=100;n<=1000;n++)if(n%i==0) break;else cout<<n<<endl;} 这么写对吗。。。
展开
3个回答
2013-11-28
展开全部
明显不对啊。程序应该要有好的模块性,所以你应该再写一个判定函数,用这个函数来判断一个数它是不是质数,然后再在循环中调用这个函数。#include<iostream.h>bool f(int n){ for(i=2;i<n;i++) if(n%i==0) return false; return true;}void main(){ for(int n=100;n<=1000;n++) if(f(n)) cout<<n<<endl;}我写的这个判定是否是质数的算法有点小瑕疵,就是其实i的取值只要到n的1/2次方就行了。
2013-11-28
展开全部
i的范围呢?这样写吧:#include <iostream.h>using namespace std;int main(){int i,n;for (n=100;n<=1000;n++){ for (i=1;i<=n;i++) { if(n%i==0) break; else cout<<n<<endl; } } cin.get(); return 0;}建议你在for、if等语句加“{”“}”,这样比较容易看。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-28
展开全部
思路是对的,遍历;判断出错for (n=100;n<=1000;n++){for(int 1=2;i<n;i++)if(n%i==0) break;if(i ==n-1)cout<<; }要对i遍历
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询