首页 > 解决方案 > 在哪里放置强大数字的声明?

问题描述

我已经制作了这个计算数字因式分解的程序,例如60 = 2^2 * 5 * 3. 如何修改我的代码以打印强大的数字,例如9000 = 2^3 * 3^2 * 5^3不使用 math.h 库和不使用数组?非常感谢!!

#include<stdio.h>
#define MAX 1000

int main(){
    int num;

    int counter;
    int number;
    char factorizationOutput;
    int isAchiles = 0;

    int factor=2;
        for(counter=2;counter<=MAX;counter++){
            isAchiles = 1;
            number=counter;
            int factor=2;

            while(factor<number){

                int power=0;

                if(number%factor==0){

                    while(number%factor==0){
                        number=number/factor;
                        power++;

                    }
                    if(power == 1){
                        isAchiles = 0;
                    }
                    printf("%d^%d",factor,power);
                    if(number!=1)
                        printf(" X ");

                }
                factor++;
            }
            if(number!=1)
                printf("%d^1.\n",factor);

            if(isAchiles == 1){
                printf("factorazation of number %d is: ",counter);

            }



}

}

标签: c

解决方案


#include<stdio.h>

int main(void)
{
    int n;
    scanf("%d", &n);
    printf("%d = ", n);
    for(int i = 1; i <= n; i++)
    {
        int count = 0;
        for(int j = 1; j <= i; j++)
        {
            if(i % j == 0)
            {
                count++;
            }
        }
        int l = 0;
        if(count == 2)
        {
            while(n % i == 0)
            {
                l++;
                n = n/i;
            }
            printf("%d^%d*", i, l);
        }
    }
}

推荐阅读