c語(yǔ)言分解質(zhì)因數(shù)問(wèn)題怎么解決

小億
92
2024-02-19 11:40:25

要解決分解質(zhì)因數(shù)的問(wèn)題,可以編寫(xiě)一個(gè)程序來(lái)實(shí)現(xiàn)這一功能。以下是一個(gè)使用C語(yǔ)言實(shí)現(xiàn)分解質(zhì)因數(shù)的簡(jiǎn)單程序示例:

#include <stdio.h>

void primeFactors(int n) {
    // 打印出所有的2因子
    while (n % 2 == 0) {
        printf("%d ", 2);
        n = n / 2;
    }
    
    // n現(xiàn)在必須是一個(gè)奇數(shù)
    for (int i = 3; i * i <= n; i = i + 2) {
        while (n % i == 0) {
            printf("%d ", i);
            n = n / i;
        }
    }
    
    // 如果n本身是一個(gè)質(zhì)數(shù)大于2
    if (n > 2) {
        printf("%d ", n);
    }
}

int main() {
    int n;
    printf("請(qǐng)輸入一個(gè)數(shù)字:");
    scanf("%d", &n);
    
    printf("分解質(zhì)因數(shù)為:");
    primeFactors(n);
    
    return 0;
}

這個(gè)程序首先定義了一個(gè)函數(shù)primeFactors,用于計(jì)算并打印出給定數(shù)字的質(zhì)因數(shù)。然后在main函數(shù)中,用戶(hù)輸入一個(gè)數(shù)字,然后調(diào)用primeFactors函數(shù)來(lái)分解質(zhì)因數(shù)并打印出來(lái)。

運(yùn)行程序后,輸入一個(gè)數(shù)字,程序?qū)⑤敵鲈摂?shù)字的所有質(zhì)因數(shù)。

0