C语言 · 因式分解

算法提高 8-1因式分解  
时间限制:10.0s   内存限制:256.0MB
    
问题描述
  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。
样例
  与上面的样例输入对应的输出。
  例:

数据规模和约定
  输入数据中每一个数在int表示范围内。
 
作者注释:这题巧用while循环的话蛮容易的。
 1 #include<stdio.h> 
 2 main(){
 3     int n,x=1;
 4     scanf("%d",&n);
 5     bool flag=true;
 6     while(n!=1){
 7         x++;
 8         while(n%x==0){
 9             n/=x;
10             if(flag){
11                 flag=false;
12                 printf("%d",x);
13             }else{
14                 printf("*%d",x);
15             }
16         }
17     }
18 }
原文地址:https://www.cnblogs.com/panweiwei/p/6510081.html