题目:将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5 ?

2024-11-22 01:07:25
推荐回答(2个)
回答1:

#include


int main()

{

    //num要分解的数

    //i已经分解出来的。

    int num,i;

    printf("please input a num:");

    scanf("%d",&num);

    printf("%d=",num);


    //分解.从1到num检查,看看是不是因子。

    for(i=2; i<=num; i++)

        while(num%i==0)

        {

            num/=i;

            printf("%d*",i);

        }


    //1:输出最后一个因子。一定是1,如果上面for有=num也输出来了,所以只剩下1

    //即:num==1;

    //2:如果for没有=num的情况,那么,不一定是1的情况,可能还是其他,可以根据自己的需要改。

    printf("%d",num);


    return 0;

}

回答2:

public class Prog4{
public static void main(String[] args){
int n = 13;
decompose(n);
}
private static void decompose(int n){
System.out.print(n+"=");
for(int i=2;i while(n%i==0 && n!=i){
n/=i;
System.out.print(i+"*");
}
if(n==i){
System.out.println(i);
break;
}
}
}
}