社区
C语言
帖子详情
怎样输出100到200间的素数??
pplzb
2002-09-01 02:24:27
方法越原始越好。
...全文
747
9
打赏
收藏
怎样输出100到200间的素数??
方法越原始越好。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bonnyone
2002-09-01
打赏
举报
回复
楼上的效率不错!!!!
bonnyone
2002-09-01
打赏
举报
回复
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
const int MAXNUM=2000000;
const int MINNUM=1000000;
enum BOOL{FALSE=0,TRUE=1};
/* isprime(num) judged whether num is a prime or not */
BOOL isprime(int num)
{
if(num%2==0)
return FALSE;
for(int i=3;i<=sqrt(num);i+=2)
if(num%i==0)
return FALSE;
return TRUE;
}
void main()
{
vector<int> prime;
prime.push_back (3);
for(int i=5;i<=sqrt(MAXNUM);i+=2)
if(isprime(i))
prime.push_back (i);
vector<int>::iterator iterstart=prime.begin (),iterend=prime.end();
vector<int>::iterator iter;
for(iter=iterstart;iter<iterend;iter++)
cout<<*iter<<" ";
int j;
try
{
for(i=MINNUM+1;i<=MAXNUM;i+=2)
{
j=sqrt(i);
for(iter=iterstart;*iter<=j&&iter<iterend;iter++)
{
if(i%*iter==0)
break;
}
if(i%*iter!=0)
{
cout<<i<<" ";
}
}
}
catch(...)
{
cerr<<"there are something error."<<endl;
}
}
包你满意,可求int范围(当然可扩张)的素数,只要调整MINNUM和MAXNUM的范围!!!!!!!!
fangxiaoan
2002-09-01
打赏
举报
回复
发现你在看小谭爷爷的书!
glassshark
2002-09-01
打赏
举报
回复
#include "stdafx.h"
#include <iostream.h>
int main(int argc, char* argv[])
{
int i,j;
int num=0; //计算总共有多少个素数
for(i=101;i<200;i+=2)
{
for(j=2;(i%j)&&(j<i/2);j++);
if(j>=i/2){
cout<<i<<" ";
num++;
}
if(num%10==0)//一行输出10个
cout<<endl;
}
return 0;
}
glassshark
2002-09-01
打赏
举报
回复
#include "stdafx.h"
#include <iostream.h>
int main(int argc, char* argv[])
{
int i,j;
int num=0; //计算总共有多少个素数
bool flag;
for(i=101;i<200;i+=2)
{
for(j=2;(i%j)&&(j<i/2);j++);
if(flag=j>=i/2){
cout<<i<<" ";
num++;
}
if(num%10==0)//一行输出10个
cout<<endl;
}
return 0;
}
glassshark
2002-09-01
打赏
举报
回复
#include "stdafx.h"
#include <iostream.h>
int main(int argc, char* argv[])
{
int i,j;
int num=0; //计算总共有多少个素数
bool flag;
for(i=101;i<200;i+=2)
{
for(j=2;(i%j)&&(j<i/2);j++);
if(j>=i/2)
flag=true;
else
flag=false;
if(flag)
{
cout<<i<<" ";
num++;
}
if(num%10==0) //一行输出10个
cout<<endl;
}
return 0;
}
hellolwl
2002-09-01
打赏
举报
回复
#include <iostream>
#include <cmath>
using namespace std;
int IsPrime(int n)
{
int k = sqrt(n);
if((k * k) < n) k++;
for(int i = 2;i <= k;i++)
{
if(n%i == 0) return 0;
}
return 1;
}
void main()
{
for(int i = 100; i<= 200;i ++)
{
if(IsPrime(i)) cout<<i<<" ";
}
}
wangran
2002-09-01
打赏
举报
回复
我临时写了一个:
#include <iostream.h>
int main()
{
int i,j;
int num=0; //计算总共有多少个素数
for(i=100;i<200;i++)
{
bool flag=true; //用来表示是否是素数
for(j=2;j<i/2;j++)
if(i%j==0)
{
flag=false;
break;
}
if(flag)
{
cout<<i<<" ";
num++;
}
if(num%10==0) //一行输出10个
cout<<endl;
}
return 0;
}
wangran
2002-09-01
打赏
举报
回复
是素数吗?
打印
100
到
200
之
间
的
素数
及
输出
素数
的个数;编写判别
素数
的函数,主函数
输出
200
以内的
素数
(C)
素数
是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
用c语言
输出
100
到
200
之
间
的
素数
素数
,就是除了1和他本身,不能被其他数整除的数字。 今天我们将用三种不同的方法来实现“
输出
100
到
200
之
间
的
素数
”,请往下看:1、第一种方法就是用
100
到
200
之
间
的每个数字,除以2到其本身前面的那一个数字,如果此过程中出现整除的现象,则该数不是
素数
。如果没有整除的现象,则该数为
素数
输出
。#include<stdio.h> int main() { int i=0; ...
【C语言练习】将
100
~
200
之
间
的
素数
输出
将
100
~
200
之
间
的
素数
输出
一、编程思路 1、首先,我们要意识到,找出某个区
间
内符合条件的数,就需要对这个区
间
内的所有数进行遍历,而最常用的遍历方法就是利用for循环; 2、其次,在确定了遍历区
间
后,就要根据符合条件的数来进行条件限定。例如本题中要求的是找到区
间
内的所有
素数
,那么我们首先就要明确
素数
的概念:一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数叫
素数
; 3、然后,我们便需要思考如何用数学关系式来清楚地表达
素数
。根据
素数
的概念,当一个数除以在这个区
间
内所有不是1且不是其本身的数时
求
100
至
200
间
的全部
素数
。
求
100
至
200
间
的全部
素数
。 //求
100
至
200
间
的全部
素数
。 #include <stdio.h> int main() { int i = 0; for (i =
100
; i <=
200
; i++) { int j = 0; for (j = 2; j <= i - 1; j++) { if (i % j == 0) break;
利用Python
输出
100
-
200
以内的
素数
1.法一 from math import sqrt def main(): for i in range(
100
, 201): flag = 1 k = int(sqrt(i)) for j in range(2, k + 1): if i % j == 0: flag = 0 break if flag == 1: p
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章