c++编程连续输出100个素数,从2开始,初级学者用 c++怎么编程输出100以内的素数?

作者&投稿:英鬼 (若有异议请与网页底部的电邮联系)
楼上的思路不错。
有1个错了。cnt < 100不是 <= 100
还有一个可以改进。
int b_sushu(int date)
{
for(int i=2;i<date;i++) //只需要到sqrt(date)即date的平方根,需包含cmath头文件。
{ //这在数据很大时能提高不少效率。
if(date%i==0)
{
return -1;
}
}
return 0;
}

给你一个判断素数的函数,至于要输出多少个素数,你自己加个for循环,设置一个计数器就ok了
祝你幸福

int primenum(int n)
{
for(int i=0,m=sqrt(n);i<=m;i++)
if(n%i==0) return 0;
if(i>m) return 1;
}

#include<iostream>
using namespace std;

int b_sushu(int date)
{
for(int i=2;i<date;i++)
{
if(date%i==0)
{
return -1;
}
}
return 0;
}
int main()
{

int cnt=0; //计数器 判断是否到了100个
int date=2;
while(cnt<=100)
{
if(b_sushu(date)==-1)
{
date++;
}
else
{
cout<<date<<endl;
date++;
cnt++;
}
}
有什么问题可以问,忘采纳!

如何用c++输出从2开始的连续100个素数~

素数是一个大于1的自然数,除了1和其本身外,不能被其他自然数整除的数。C++从2开始输出连续的100个素数,则只需要从2开始往后循环,如果该数是素数,则输出,并统计加一,统计够100个素数时跳出循环即可。
示例代码:
#include bool is_prime(int n){ int i; for (i = 2; i*i <= n; ++i){//从2到根号n循环 if (n%i==0)return false;//如果n能被i整除,则不是素数 } //没有大于2且小于n的数能被n整除的数,则是素数 return true;}int main(){ int i, ct = 0;//统计初始化 for (i = 2; ;++i){ if (is_prime(i)){//是素数,输出并统计加一 printf ("%d ", i); ct ++; } if (ct == 100)break;//够100个素数跳出循环 } return 0;}/*输出: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 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541*/

#include
using namespace std;
int main()
{
int j;
for(int i=2;i<100;i++) //第一循环是从2-100个数
{
for(j=2;j<=i/2;j++) //第二个循环是判断i的值是不是素数.
{
if(i%j==0) //如果被整除 那么就不是素数.跳出
break;
}
if(j>i/2) //判断上面循环是否正常结束
cout<<i<<" "; //如果上面循环正常结束 则i是素数 输出
}
cout<<endl;
}

怎么用C语言实现输入100个素数?
答:1、输出1-100以内的素数:2、同样,也是输出1-100以内的素数,这个构造一个数组,将其所有元素初始化为1,表示素数,这时取x从2开始,到100以内做循环。若x为素数,即prime[x]!=0,使得每个i*x位置元素置0(prime[i*x]=0),表示为非素数,循环结束前x+1。3、该方法是输出100个素数,基本...

怎样编写一个循环程序,输出100以内所有的素数?
答:int main() { int i;for (i = 0; i <= 100; i++) { if (i % 3 == 0) { // 如果能被 3 整除,跳过本次循环 continue;} printf("%d ", i); // 输出不能被 3 整除的数 } printf("\n");return 0;} 输出结果:1 2 4 5 7 8 10 11 13 14 16 17 19 20 ...

如何用c++输出从2开始的连续100个素数
答:素数是一个大于1的自然数,除了1和其本身外,不能被其他自然数整除的数。C++从2开始输出连续的100个素数,则只需要从2开始往后循环,如果该数是素数,则输出,并统计加一,统计够100个素数时跳出循环即可。示例代码:include <stdio.h>bool is_prime(int n){ int i; for (i = 2; i*i...

求C++编程:求从2开始连续100个素数
答:仅供参考:include <stdio.h> include <math.h> void main(){ int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=100000;m++){ k=sqrt(m+1);for(i=2;i<=k;i++){ if(m%i==0){ leap=0;break;} } if(leap){ printf("%-4d",m);h++;if(h == 100)break;if(h%...

c语言编程:从小到大输出前100个素数,每行输出5个
答:return 1;都不能整除就返回真 } int main(){ int i,l=0;for(i=2; i<=100; i++){ if(isprime(i)==true){printf("%d ",i);l++;}//是素数就输出,计数器更新增1;if(l%5==0)printf("\n");//计数器到整除5就换行 } return 0;} ...

c++编程连续输出100个素数,从2开始,初级学者用
答:有1个错了。cnt < 100不是 <= 100 还有一个可以改进。int b_sushu(int date){ for(int i=2;i<date;i++) //只需要到sqrt(date)即date的平方根,需包含cmath头文件。{ //这在数据很大时能提高不少效率。if(date%i==0){ return -1;} } return 0;} ...

c语言编程:从小到大输出前100个素数,每行输出5个。这道题怎么做?_百度...
答://根据素数定义 如果被2到小于自己开方的数整除就不是素数函数返回假\x0d\x0a return 1;都不能整除就返回真\x0d\x0a}\x0d\x0aint main()\x0d\x0a{\x0d\x0a int i,l=0;\x0d\x0a for(i=2; i<=100; i++)\x0d\x0a {\x0d\x0a if(isprime(i...

用C语言编写一个程序输出3到100间的素数
答:主要是楼上回答的在第二个for中,可以将i<j改为i<sqrt(j),可以节省运算时间 本回答由提问者推荐 举报| 答案纠错 | 评论(1) 2 5 hongmeinv11 采纳率:50% 擅长: 暂未定制 其他回答 #include <stdio.h>#define N 100void main(){ int k; printf("3到100间的素数为:\n"); for (int j=3;j...

用C++输出100到300内的所有素数,并每输出7个就输出一个回车
答:void main(){ int i =100;int j=0;int count =0;for(;i<301;i++){ bool isprime = true;for(j=2;j

C语言 FOR循环求100到300的素数的输出,并统计素数个数 每6个输出就换...
答:y to continue include <stdio.h> include <math.h> int main(){ int i,t,flag,x;for( i=100; i<=300; i++) //比X小并且大于2的数 { flag=0;for( t=2; t<=i/2; t++)//循环判断是否是素数 { if(i%t==0){ flag=1;break;} } if(flag==0)printf("%d,",i);} r...