求素数

来源:互联网 发布:朗伽病理软件 编辑:程序博客网 时间:2024/05/23 16:26

1.出现vector subscript out of range问题

2.

void fun();   //若把fun函数写在main函数前面,不需要此句,此句作声明用,因为fun函数写在后面,让main函数在执行时知道有fun这个函数。int main(){fun();}void fun(){}
主函数与调用函数的关系
3.我写的求1~100素数函数:
void fn(){   int t=0,i,j;vector<int> a;for (i=2;i<100;i++){  for (j=2;j<=i;j++)  t += i/j;  if(t=i+1)  a.push_back(i);}for(i=0;i<a.size();i++){ if (i%10==0) cout<<endl; cout<<a[i]<<" ";}}
以下为输出结果:
 
改为if(t==i+1)
两次都是错误的;
原因在于t值没有初始化,t值一直在累加
void fn(){   int t=0,i,j=0;vector<int> a;for (i=2;i<100;i++){      int j =1;  for (j=1;j<=i;j++)  if(i%j==0)  t += i/j;  if(t==i+1)   a.push_back(i);   t=0;}for(i=0;i<a.size();i++){ if (i%10==0) cout<<endl; cout<<a[i]<<" ";}}
  加上 t=0;
输出正确

0 0