c++ 当输入和输出的数比较大时,例如求最大质因数,long long长度不够,有什么简单办法?

图片说明

#include <iostream>

#include <cstdio>

#include <cmath>

using namespace std;

int main() {

long long n;

cin>>n;

long long num = n, ans, i = 2;

while (i * i <= num) {

if (num % i == 0) ans = i;

while (num % i == 0) num /= i;

i++;

}

if (num != 1) ans = num;

printf("%lld\n", ans);

return 0;

}

回答

这个只能用 char[] int[] 等模拟大数运算,每一个元素存储10进制1位

以上是 c++ 当输入和输出的数比较大时,例如求最大质因数,long long长度不够,有什么简单办法? 的全部内容, 来源链接: utcz.com/a/42015.html

回到顶部