Advertisement
Infernale

Prime Factor

Nov 4th, 2018
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.72 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int pNum[10000];
  5.  
  6. bool checkPrime(int x){
  7.     for(int i=2;i<=sqrt(x);i++){
  8.         if(x%i==0){
  9.             return false;
  10.         }
  11.     }
  12.     return true;
  13. }
  14.  
  15. void findFactor(int x){
  16.     for(int i=x;i>1;i--){
  17.         for(int j=2;j<=x;j++){
  18.             if(checkPrime(j) && i%j==0){
  19.                 int temp = i;
  20.                 while(temp%j==0){
  21.                     pNum[j]++;
  22.                     temp/=j;
  23.                 }
  24.             }
  25.         }
  26.     }
  27. }
  28.  
  29. int main(){
  30.     int tc;
  31.     scanf("%d",&tc);
  32.     for(int i=1;i<=tc;i++){
  33.         int in, now = 0,count=0;
  34.         scanf("%in",&in);
  35.         printf("Case #%d:\n",i);
  36.         findFactor(in);
  37.         for(int j=2;j<=10000;j++){
  38.             if(pNum[j]!=0){
  39.                 printf("%d %d\n",j,pNum[j]);
  40.                 count-=pNum[j];
  41.             }
  42.             pNum[j] = 0;
  43.             if(j>in){
  44.                 break;
  45.             }
  46.         }
  47.     }
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement