我试图得出打印素数和它的数字(如:2是1,3是2,5是3,7是4,11是5等等......)。 但我不知道如何在找到新的素数时进行总和更新。 这是代码:
int main()
{
int i, j, num, sum;
num = 1;
sum = num++;
for (i = 2; i < 1000; i++) {
for (j = 2; j <= (i / j); j++)
if (!(i % j))
break; // if factor found, not prime
if (j > (i / j))
cout << i << " is " << sum << endl;
}
}
顺便说一句,我知道num = 1
和sum = sum ++;
不会循环,我只是不知道如何用素数循环它......
答案 0 :(得分:0)
您可以替换:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^capitulardesign.com.br
RewriteRule ^blog/(.*)$ blog/portfolio/$1 [L,R=301]
使用:
if (j > (i / j))
cout << i << " is " << sum << endl;
或甚至(在同一行):
if (j > (i / j)) {
cout << i << " is " << sum << endl;
sum++;
}
答案 1 :(得分:0)
int sum = 1;
for (int i = 2; i < 1000; i++) {
bool found=false;
for (int j = 2; j*j <= i; j++) {
if (!(i % j)) {
found=true; // if factor found, not prime
break;
}
}
if (!found) {
std::cout << i << " is " << sum << std::endl;
++sum;
break;
}
}
答案 2 :(得分:-1)
根据我的理解,下面的代码应该可以完成你的工作
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int num=0,i,j;
for(i=2;i<1000;i++){
int flag=0;
for(j=2;j<=sqrt(i);j++){
if(i%j==0){
flag=1;
break;
}
}
if(flag==0){
num++;
cout<<num<<"is"<<i<<"\n";
}
}
return 0;
}
它产生的输出是
1is2
2is3
3is5
4is7
5is11
6is13
7is17
8is19
9is23
等等到1000
答案 3 :(得分:-1)
我想你想要这样的输出:(像这样:2是1,3是2,5是3,7是4,11是5等等
int main(){
int i, j, num;
num = 1;
for (i = 2; i < 1000; i++) {
for (j = 2; j <= (i / j); j++)
if (!(i % j))
break; // if factor found, not prime
if (j > (i / j))
cout << i << " is " << num++ << endl;
}
return 0;
}