#9832: 請問如何增快速度和建立質數表


west7418 (shang)

學校 : 不指定學校
編號 : 47789
來源 : [140.134.27.160]
最後登入時間 :
2018-03-28 11:45:39
a740. 质因数之和 -- 海豚原创 | From: [1.175.76.174] | 發表日期 : 2015-05-05 20:14

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
  int a,i;
  while(scanf("%d",&a)!=EOF)
  {
    int b=2,total=0,c,num=0;
    c=a;                        
    while(a>=b) 
    {
       while(c%b==0)
       {         
         total+=b;
         c/=b;
         num+=1;             
       }
       b+=1;
       if(c==1)
       break;        
    }
    if(num>0)
      printf("%d\n",total);
    else
      printf("%d\n",a);                                              
  }

  return 0;
}
 
以上我的程式碼
請問如何增快和建立質數表?? 
 
#9835: Re:請問如何增快速度和建立質數表


p3a_owhj (阿普二信)

學校 : 不指定學校
編號 : 39897
來源 : [210.71.40.107]
最後登入時間 :
2024-03-29 10:41:11
a740. 质因数之和 -- 海豚原创 | From: [119.77.194.213] | 發表日期 : 2015-05-06 00:28

建質數表請參考大師級網站
http://www.csie.ntnu.edu.tw/~u91029/Prime.html 
 
ZeroJudge Forum