c++程序 从2开始的30个素数赋予数组a??

来源:百度知道 编辑:UC知道 时间:2024/09/22 05:35:44
#include <iostream>
using namespace std;
#define N 30
int main()
{
int i,b,t=1,s=0,flag;int a[N]={2};

while(t<30)
{for(b=3;b<1000;b+=2)
{flag=1;

{for(i=1;i<b;i++)
if(b%i==0)flag=0;}

if(flag==1)
a[t]=b;t++;
}}

for(int r=0;r<N;r++)
cout<<a[r]<<'\t';

for(int g=0;g<N;g++)
s+=a[g];
cout<<s<<endl;
return 0;
}

小弟不知错在哪里了 请高手指点~~
673958130 回答的是什么啊???哎~~~~是赋予数组~~~高手快来看看~

#include<iostream>

using namespace std;

int f(int a, int b)
{
return 2*a*a+b*b;
}
int main()
{
int a,b;
int count=0;//已得到的结果数
int result=0;//目的结果
int flag=0;//判断a b是否可得出结果的标识
for (a=0; a<50;a++)//50控制循环数,可调,只要能得到100个结果,越小越好
{
for (b=0; b<50;b++)
{
int tmp=f(a,b);
if (tmp==result)//符合要求,输出,跳出,计算下一个
{
cout<<count<<ends<<a<<ends<<b<<ends<<tmp<<endl;
result++;//目的结果自增
flag=1;
count++;//计数器自增
break;
}
if (tmp>result)
break;

}
if (flag==1)
{
flag=0;
a=-1;
continue;
}
if (count==100)
break;
if (a==49)//a=49时还未得出结果,目的结果自增,从新计算下一个
{
result++;
a=-1;
continue;
}
}
return 0;
}