阶乘数字总和(不含 BigInt)C++
Factorial digit sum (without BigInt) C++
我正在试图弄清楚如何解决这个问题(欧拉项目):
使用n! 表示 n × (n − 1) × ... × 3 × 2 × 1
例如,10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800,以及 数字 10 中的数字!为 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27。
找到数字 100 中的数字之和!
BigInt 不是一种选择,我正在尝试弄清楚如何仅使用 c++ 实现解决方案。
我想也许将大数字拆分为大约 7 位长的数组或类似的东西,然后处理它们,但我仍然不知道该怎么做。.
提前感谢!
试试这个
#include "iostream"
#include "vector"
int n,remainder,sum;
int main ()
{
std::vector <int> digits(5000);
std::cin>>n;
digits[0]=1;
digits[1]=1;
for (int k=2;k<n+1;k++) {
for (int i=1;i<=digits[0];i++) {
digits[i]=digits[i]*k+remainder;
remainder=0;
if (digits[i]>9) {
remainder=digits[i]/10;
digits[i]%=10;
if (i==digits[0])
digits[0]++;
}
}
}
for (int i=digits[0];i>=1;i--)
sum+=digits[i];
std::cout<<sum;
}
相关文章:
- BigInt计算器吐出稍微错误的结果
- CRecordset::GetFieldValue() with BIGINT
- 优化 BigInt 递归函数
- 我将如何重载这个使用数组的 bigint 类的 + 运算符?C++
- Bigint部门总是返回零
- 划分的bigint在字符串中呈现为2
- BigInt C++库与碱基的一致性
- 使用intel内联汇编程序对bigint-add进行进位编码
- Bigint 乘法帮助C++
- Get bigint from Microsoft SQL Server with SOCI
- 比较c++的两个bigint
- 我们能否在OpenCv C++中使用BigInt标签训练EigenVectors模型
- 阶乘数字总和(不含 BigInt)C++
- BigInt 类在C++中良好而基本的实现
- Bigint运算符>>过载
- 为什么要使用更高的基数来实现 BigInt
- C++中BigInt库的问题
- BigInt实现-将字符串转换为存储为无符号int的二进制表示
- Bigint类运算符
- bigInt加法和减法很重要