【程式14】 題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5
阿新 • • 發佈:2019-01-11
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> /* 【程式14】 題目:將一個正整數分解質因數。例如:輸入90, 打印出90 = 2 * 3 * 3 * 5。 【分析】 就是從2到自己,一一除過去 */ #if 0 int main(int argc, int **argv){ int num = 0, i = 0; printf("請輸入一個數字\n"); scanf("%d", &num); printf("%d = ", num); for (i = 2; i <= num; i++) { if (num % i == 0) //被整除 { printf("%d * ", i); num = num / i; if (num < i) { i = 2; continue; } } } return 0; } #endif int main(int argc, int **argv){ int num = 0, i = 0; printf("請輸入一個數字\n"); scanf("%d", &num); printf("%d = ", num); for (i = 2; i <= num; i++) { while (num > i) //保證被一個數整除後,繼續從該數試 { if (num % i == 0) //被整除 { printf("%d * ", i); num = num / i; } else break; } } printf("%d", num); return 0; }