160 factors & factorials.cpp

来自「UVA solutions to few selected problems」· C++ 代码 · 共 61 行

CPP
61
字号
#include<iostream>
#include<cmath>
using namespace std;
bool prime[111];
void seive()
{
     int m=11;
     memset(prime,true,sizeof(prime));
     prime[0]=false;
     prime[1]=false;
     for(int i=2;i<=m;i++)
     if(prime[i]) for(int k=i*i;k<=111;k+=i)
                  prime[k]=false;
}
int main()
{
          int n,i;
          int arr[50];
          seive();
          while(cin>>n)
          {
                       if(n==0)
                       break;
                       int k=0;
                       for(i=2;i<=n;i++)
                       {
                              int sum=0,j=1;
                              if(prime[i])
                              {
                                          while((int)pow(double(i),j)<=n)
                                          {
                                           sum=sum+(int)(n/(int)pow(double(i),j));
                                           j++;
                                          }
                                          arr[k]=sum;
                                          k++;
                              }
                       }
                       int end=k;
                       printf("%3d! =",n); 
                       if(end>15)
                       {
                                  for(k=0;k<=14;k++)
                                  printf("%3d",arr[k]);
                                  cout<<endl;
                                  printf("      ");
                                  for(k=15;k<end;k++)
                                  printf("%3d",arr[k]);
                       }
                       else
                       {
                                  for(k=0;k<end;k++)
                                  printf("%3d",arr[k]);
                       }
          cout<<endl;
          }
          system("pause");
}
                                          
                             

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?