真是苺良鑫呀
2021-06-25 15:19
采纳率: 77.3%
浏览 74

为什么我的代码输出是空白的?

神秘的三位数 有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。

即:abc = a! + b! + c!

现在要求100到5000之间的神秘数

#include<stdio.h>
#include<iostream>
#include<cstring>
using namespace std;
int func(int a,long long int sum);//求3!+2!+1!
int jieji(long long int n);//求3! 2! 1!
int main()
{
	for(int a=100;a<=5000;a++)//循环开始 
	{
		long long int sum=0;
		func(a,sum);
		if(sum==a) cout<<a<<endl;//判断是否相等 
		else continue;	//不相等就执行下一个 
	}
	return 0;
}
int func(int a,long long int sum)//阶层 
{
	long long int i=1,gew[100];
    while(a!=0)//分层 
	{
		gew[i]=a%10;//3 2 1
		sum=sum+jieji(gew[i]);//3!+2!+1!
		i++;
		a=a/10;
	} 
	return sum;
}
int jieji(long long int n)//阶层 计算3! 2! 1!
{
	long long int s=1;
	if(n==0) return 0;
	for(int j=1;j<=n;j++)
	{
		s=s*j;
	}
	return s;
}
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

4条回答 默认 最新

相关推荐 更多相似问题