fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int n,i,a[100],j,k,p,c=0,b;
  7. while(cin>>n){
  8.  
  9. if(n==0) return 0;
  10. c=0;
  11. b=n;
  12. for(i=0;i<=100;i++)
  13. {
  14. a[i]=0;
  15. }
  16. p=b;
  17. while(p!=0)
  18. {
  19. c++;
  20. p/=10;
  21. }
  22. for(i=2;i<=b;i++)
  23. {
  24. j=i;
  25. k=2;
  26. while(j!=1)
  27. {
  28. if(j%k==0) {a[k]++;j=j/k;}
  29. else k++;
  30. }
  31. }
  32. for(i=0;i<3-c;i++)
  33. {
  34. cout<<" ";
  35. }
  36. cout<<b<<"! =";
  37. k=0;
  38. for(i=0;i<100;i++)
  39. {
  40. if(a[i]>0)
  41. {
  42. if(a[i]>=100 && a[i]<=999) cout<<a[i];
  43. else if(a[i]>=10) cout<<" "<<a[i];
  44. else cout<<" "<<a[i];
  45. k++;
  46. if(k==15){cout<<endl<<" "; k=0;}
  47. }
  48. }
  49. cout<<endl;
  50. }
  51. }
  52.  
Success #stdin #stdout 0s 3100KB
stdin
5
53
99
200
0
stdout
  5! =  3  1  1
 53! = 49 23 12  8  4  4  3  2  2  1  1  1  1  1  1
        1
 99! = 95 48 22 16  9  7  5  5  4  3  3  2  2  2  2
        1  1  1  1  1  1  1  1  1  1
200! =197 97 49 32 19 16 11 10  8  6  6  5  4  4  4
        3  3  3  2  2  2  2  2  2  2