namereq

Untitled

Jun 12th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.69 KB | None | 0 0
  1. // 素因数分解のプログラム
  2. #include <stdio.h>
  3.  
  4. int main(void)
  5. {
  6.     int j = 2; //割る数
  7.     int n = 3072; //割られる数(n>2)
  8.     int cnt = 0; //素因数分解できた回数
  9.  
  10.     printf("%d を素因数分解します。\n", n);
  11.  
  12.     do {
  13.         if (n%j == 0) { // 素因数分解できた
  14.             printf("%3d) %d\n", j, n);
  15.             n = n / j;
  16.             cnt++;
  17.         }
  18.         else { // 素因数分解できなかった
  19.             if (n == 1) break;
  20.             j++;
  21.         }
  22.     } while (n >= j*j);
  23.     printf("     %d\n", n);
  24.  
  25.     if (cnt == 0) {
  26.         puts("The number is prime number.");
  27.     } else {
  28.         printf("The number is a product of %d prime numbers.\n", (cnt+1));
  29.     }
  30.  
  31.     // 素因数の最大値は n です。
  32.  
  33.     return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment