首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C++中以指数形式打印素数分解

在C++中以指数形式打印素数分解,可以通过以下代码实现:

代码语言:txt
复制
#include <iostream>
#include <vector>

// 判断一个数是否为素数
bool isPrime(int num) {
    if (num < 2) {
        return false;
    }
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

// 打印素数分解结果
void printPrimeFactorization(int num) {
    std::vector<int> factors;
    for (int i = 2; i <= num; i++) {
        if (isPrime(i)) {
            while (num % i == 0) {
                factors.push_back(i);
                num /= i;
            }
        }
    }
    std::cout << "素数分解结果:" << std::endl;
    for (int i = 0; i < factors.size(); i++) {
        int count = 1;
        while (i + 1 < factors.size() && factors[i] == factors[i + 1]) {
            count++;
            i++;
        }
        std::cout << factors[i];
        if (count > 1) {
            std::cout << "^" << count;
        }
        if (i + 1 < factors.size()) {
            std::cout << " * ";
        }
    }
    std::cout << std::endl;
}

int main() {
    int num;
    std::cout << "请输入一个正整数:";
    std::cin >> num;
    printPrimeFactorization(num);
    return 0;
}

运行以上代码,用户输入一个正整数,程序将会以指数形式打印出该数的素数分解结果。例如,输入数字24,输出结果为:2^3 * 3。这表示24可以分解为2的3次方乘以3。

在这个问题中,没有提到具体的云计算相关内容,因此不需要提供腾讯云相关产品和产品介绍链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券