fork download
  1. #include <stdio.h>
  2.  
  3. void soinsu(int x){
  4.  
  5. static int i = 2;
  6. static int kaisu = 0;
  7.  
  8. for( ; i <= x ; i++){
  9. if(x % i == 0){
  10.  
  11. if(kaisu == 0){
  12. printf(" %d",i);
  13. kaisu++;
  14. }
  15. else{
  16. printf(" × %d",i);
  17. }
  18.  
  19. soinsu(x / i);
  20.  
  21. break;
  22. }
  23. }
  24. }
  25.  
  26.  
  27. int main(void){
  28.  
  29. int n;
  30.  
  31. do{
  32. printf("3以上の整数を入力してください:");
  33. scanf("%d",&n);
  34. printf("%d\n",n);
  35. }while(n<3);
  36.  
  37. printf("%d =",n);
  38. soinsu(n);
  39.  
  40. return 0;
  41. }
Success #stdin #stdout 0.01s 5476KB
stdin
2
999
stdout
3以上の整数を入力してください:2
3以上の整数を入力してください:999
999 = 3 × 3 × 3 × 37