gpt4 book ai didi

c++ - 计算一个 3 位数字的阶乘和

转载 作者:行者123 更新时间:2023-11-28 04:19:28 25 4
gpt4 key购买 nike

我已经编写了这段 C++ 代码来计算三位数字的阶乘之和,但它不起作用:

输出是:

进程返回 -1073741571 (0xC00000FD) 执行时间:9.337 秒按任意键继续。

#include <iostream>
#include <exception>
using namespace std;
unsigned fact(int n)
{
if (n == 1|n==0)
return 1;
else
return n * fact(n - 1);
}
int main()
{
int num;
int sum=0;
int tmp;
cout<<"Enter 3 digit number:\n";
cin>>num;
if(num<99|num>999)
{
cout<<"Not a 3 digit number!";
return (1);
}
tmp = num%100;
sum = sum+ fact(tmp);
tmp = num%10;
sum = sum+ fact(tmp);
tmp = num%1;
sum = sum+ fact(tmp);

cout<<"Sum of factorial of digits in a number:"<<sum;
return(0);
}

最佳答案

num 的数字不是num % 100num % 10,num % 1。是什么让您产生了这个想法?

num=567 为例。那么我们有

num % 100 = 67

num % 10 = 7

num % 1 = 0

你需要多考虑一下。

关于c++ - 计算一个 3 位数字的阶乘和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55801016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com