在c++语言中,怎样用穷举法找出100以内的质数?

如题所述

挨个判断就行了,偶数不判断。

 

#include<iostream>
using namespace std;  
int main()
{
    int prime[50] = {2};//2是素数
    int cnt = 0; //素数个数
    flag = true; //指示是否是素数
    for(i = 3;i < 100;i = i +2)
    {
        flag = true;

        //判断是否能被1到i-1整除  
        for(j = 3;j < i;j++)
        {
              if(j % i == 0)
              {
                  flag = false;
                  break; 
              } 
        }
        
        if(flag ==true)
        {
          prime[cnt] = i;
          cnt++; 
        }   
    }
    
    for(i = 0;i < cnt; i++)
        cout<<prime[i];  
    return 0;     
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-10
for(i=1;i<=100;i++). t=1
While(t<i
)i%t追答

主要思路

追问

可以再清楚一点吗?

我才刚学,可能不太会懂

追答

好吧..待会,现在有点忙

大概是这样,细节自己搞下....

追问

你好厉害呀!

追答

....其实我也是刚学,大一的...

追问

你哪所大学?

我湖南的

你什么专业?

追答

我湖北华科的...

追问

华中科技大学吗?

你好棒呀!

追答

...一般般啦

追问

这所大学超牛呀,上次职来职往就是华中科技大学的专场!

你看了没?

追答

没有.我们现在好忙的-.-

追问

哦哦

追答

你是湖南哪各大学?

追问

比不上你呀!

你是湖南人吗?

追答

...其实学校没那么重要,主要还是自己努力呀...

追问

你是哪里吗?

追答

没看懂..

追问

你是哪里人?

追答

陕西的..

追问

哦,好远呀!

你现在就可以把程序写的很棒吗?

根据你发过来的答案,就觉得你好牛。

追答

...没有啦,就是基本的经常联系

练习

追问

你们大学的人大部分都很认真。

追答

对的....

追问

都相信自己能改变世界

你去看职来职往吧!

追答

...好吧...-

追问

为什么i要赋值给r,还有t为什么要小于等于2?

追答

第一个问题:在if(i%a=0)中 i的值指的是第一个循环结构中i的值,如果不引入r量,i又要从1开始循环,这时是没法完成运算的。
第二个问题:t的值代表着满足i除以从一到i的所有数中余数为0的数,而质数只有1和它本身。
这里写t=2也可以

追问

哦哦

可以问你一个线代的题目吗?

detA1=的后面两个矩阵怎么来的?看不懂?

追答

饿...我们还没学这呢...

追问

你们还学的慢一些吗?

追答

我们专业对数学要求不大,学化学

追问

你什么专业?

我物联网专业

我是师范院校的。

在c++语言中,怎样用穷举法找出100以内的质数?
挨个判断就行了,偶数不判断。include<iostream>using namespace std; int main(){ int prime[50] = {2};\/\/2是素数 int cnt = 0; \/\/素数个数 flag = true; \/\/指示是否是素数 for(i = 3;i < 100;i = i +2) { flag = true; \/\/判断是否能被1到i-1整除...

用穷举法找出1到100的质数并显示出来.C++
for 从1数到100 { 对每个数,除以从2到自身开根的整数,如果都不能除净就是质数 } 设一个数组记录 然后就可输出了 具体的自己写吧,练练也好,我懒的动

用C++取1到100的质数
void main(){ int a,b;for(a=2;a<=100;a++) \/\/取100以内所有的数 { for(b=2;b=a) \/\/当条件为真则为质数 printf("%5d",a);} }

2)c++ 用穷举法找出1到100之间的质数.分别适用while,do-while,for循环...
include <iostream> using namespace std;bool isprime_for(int n){ for (int i = 2; i<= n - 1; i++){ if (n % i == 0){ return false;break;} else return true;} }bool isprime_while(int n){ int i = 2;while (i <= n - 1){ if (n % i == 0){ return fal...

我想用C++中的for以穷举法输出1-100的所有质数(素数)
if(flag == 1) cout<<a<<" ";两个等号,常见错误 把习惯改成等号判断的时候先写常数,即 if(1 == flag)这样你少写了等号编译就不会过

c++用穷举法找出1-100的质数并显示
include <iostream> define N 100 void main(){ int count=0;for(int i=1;i<100;i++){ for(int j=2;j<i;j++)if(i%j==0)break;if(i==j){ cout<<i;count++;count%5?cout<<"\\t":cout<<endl;} } } 我试过了,成功的了 ...

c++程序编写:用穷举法找出1到100的质数并显示出来。分别使用while、do...
void main(){int i,j,n,m;i=2;while(i<101){m=1;n=i\/2;j=2;while(j<=n){ if(i%j==0){m=0;breake;} j++;} if(m)cout<<i<<"";i++;} } 2.用do...while include<iostream.h> void main(){int i,j,n,m;i=2;do {m=1;n=i\/2;j=2;do {if(i%j==0){m...

C++编程问题:用穷举法找出1到100的质数并显示出来。使用do...while循 ...
i=2时,i%j = 0 ,所以m就被赋值为0,然后后面的cout<<i<<"" 语句就不会被执行。

C语言输出100-200之间的素数
逻辑错误,准确位置为14行,正确代码如下:#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;}}if (j>=i){printf("%d",i);}}return 0;} ...

C++编程问题:用穷举法找出1到100的质数并显示出来。使用do...while循 ...
m是C语言表示布尔值的习惯用法,1表示真,0表示假 其实c++有布尔类型可用的,为何不用?把int m改成bool is_zhishu,m=1改成is_zhishu=true,这样程序就清楚得多了 m在循环体中起到个初始化值的作用。

相似回答