整数文本太大,无法用任何整数类型表示--C++
Integer literal is too large to be represented in any integer type -- C++
我正在尝试Project Euler中的问题8,其中我必须在给定的1000位数字中找到13个相邻数字的最大乘积。然而,在编译过程中,我得到了"Integer literal太大,无法用任何整数类型表示"。你知道如何解决这个错误吗?
这是迄今为止的代码:
#include <iostream>
using namespace std;
int main() {
unsigned long long double number = 7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450;
cout << number << endl;
}
使用字符串:
#include <string>
int main() {
std::string number = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450";
}
然后用数字来解决你的问题。
相关文章:
- C++模板函数,用于比较任何无符号整数和有符号整数
- 如何检测除整数以外的任何内容是否传递给我的类构造函数?
- 如何在不给它任何类型(如整数)的情况下定义某物?
- 整数文本太大,无法用任何整数类型表示--C++
- boost::任何带有结构体和无符号整数
- 是否有任何内置函数可以检查给定的两个数字在给定整数数组中的顺序是否相同?
- 如何对 int 变量应用验证,使其仅接受整数数据,并且在任何其他数据的情况下不会出错?
- 你能在任何独立于架构的低级语言中获得更小的整数吗?
- 任何可以在单个 CPU 指令中在 0 和 1 之间翻转位/整数/布尔值的可能代码
- 为什么当用户输入除整数之外的任何内容时,我的程序会无限循环输出?C++
- 在比较两个字符串之前(整数)之前,将字符串转换为整数有任何好处
- 在C 中弹出任何元素后,会自动调整数组大小
- wchar_t保证与任何整数类型不同
- 如何检查输入是否是没有任何其他字符的有效整数
- 除 "6" 作为最右边数字的整数输入外,任何整数输入都可以使用,但任何数字(如 ...6.导致分段错误,为什么?
- 对于每个标量“T”,是否有任何保证存在相同大小的整数
- 如何仅将 16 位分配给二进制文件中的任何整数,而不是C++中的正常 32 位
- C++ 中任何基数中的整数文本
- 依靠任何数字类型(无符号、整数等)的隐式提升来加倍是否安全
- C++宏代码 - 显式整数(任何大小)转换为指针类型