程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度教程第55題

九度教程第55題

編輯:C++入門知識

C語言源碼: [cpp]   #include<stdio.h>   #include<limits.h>   int b[1010],s[1010],top;   void pri()   {       int i,j;       top=0;       i=2;       for(i=2;i<1010;i++)           b[i]=0;       for(i=2;i<1010;i++)       {           if(b[i]==0)           {               s[top++]=i;               for(j=i;j*i<1010;j++)                   b[j*i]=1;           }       }   }   int main()   {       int n,a,k,pn[1000],pa[1000],i,j;       while(scanf("%d %d",&n,&a)!=EOF)       {           pri();           for(i=0;i<1000;i++)           {               pn[i]=0;               pa[i]=0;           }           for(i=0;i<top;i++)           {               while(a%s[i]==0)               {                   pa[s[i]]++;                   a/=s[i];               }               if(a==1)                   break;           }           for(j=2;j<=n;j++)           {               k=j;               for(i=0;i<top;i++)               {                   while(k%s[i]==0)                   {                       pn[s[i]]++;                       k/=s[i];                   }                   if(k==1)                       break;               }           }           k=INT_MAX;           for(i=0;i<1000;i++)           {               if(pa[i]!=0)               {                   if(pn[i]-pa[i]<k)                       k=pn[i]/pa[i];               }           }           printf("%d\n",k);       }   }  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved