在C++中以指数形式打印素数分解,可以通过以下代码实现:
#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。
在这个问题中,没有提到具体的云计算相关内容,因此不需要提供腾讯云相关产品和产品介绍链接地址。
DB・洞见
DBTalk技术分享会
云+社区技术沙龙[第6期]
DBTalk
《民航智见》线上会议
云+社区技术沙龙[第10期]
云+社区技术沙龙[第19期]
《民航智见》线上会议
DB TALK 技术分享会
云+社区技术沙龙[第17期]
云+社区技术沙龙[第5期]
领取专属 10元无门槛券
手把手带您无忧上云