gpt4 book ai didi

c - 用 C 分解一个数

转载 作者:行者123 更新时间:2023-11-30 21:00:28 29 4
gpt4 key购买 nike

我想做一个这样的因式分解程序:72 = 3 * 2 ^ 3 ^ 2

用C语言,我该如何编写程序?

我尝试这样做,但我做不到:

#include <stdio.h>

int main(){

int n;
int j;

printf("Insert a positive integer number greater than 1\n")
scanf("%d", &n);
j = 2;
do
{
if( n % j == 0)
{
printf("%d\n", j);
n = n / j;
}

else{
j++;
}
}

while ( n > 1);
}

最佳答案

假设给定 72,您想要输出 2^3 X 3^2 此代码应该执行此操作:

/* Decides when to print multiplication sign */
const char *get_mult_string()
{
static int first_divisor=1;

if (first_divisor==1) {
first_divisor=0;
return "";
} else {
return " X ";
}

}

void factorize() {
int n;
int j;

printf("Insert a positive integer number greater than 1: ");
scanf("%d", &n);
j = 2;
int power_count=0;

do {
if (n % j == 0) {
power_count++;
n = n / j;
}

else {
if (power_count>0) {
printf("%s(%d^%d)", get_mult_string(), j, power_count);
power_count=0;
}
j++;
}
}

while (n > 1);
if (power_count>0) {
printf("%s(%d^%d)\n", get_mult_string(), j, power_count);
}

}

关于c - 用 C 分解一个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41106373/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com