helloworld


私信TA

用户名:uq_62636900566

访问量:410

签 名:

想要变成大佬

等  级
排  名 1449
经  验 2777
参赛次数 24
文章发表 9
年  龄 19
在职情况 学生
学  校
专  业

  自我简介:

.0.0.0.0.0.0.

解题思路:

注意事项:

参考代码:

#include<iostream>

#include<algorithm>

#include<cmath>

using namespace std;

const int N = 10;

int arr[N];

int Digital(int y)//位数

{

int d=0;

while(y)

{

d++;

y=y/10;

}

return d;

}

bool Com(int a,int b)//sort排序

{

int m1=Digital(a);

int m2=Digital(b);

if(a/pow(10,m1-1)<b/pow(10,m2-1))

{

return true;

}

return false;

}

bool Product(int x)//阶乘

{

int temp=x;

int add=0;

while(x)

{

int sum=1;

for(int k=1;k<=x%10;k++)

{

sum=sum*k;

}

add+=sum;

x/=10;

}

if(add==temp)

{

return true;

}

return false;

}

int main()

{

int m=0;

for(int i=1;i<=100000;i++)

{

if(Product(i))

{

arr[m]=i; 

m++;

}

}

sort(arr,arr+m,Com);

for(int j=0;j<m;j++)

{

cout<<arr[j]<<" ";

}

return 0;

}

 


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区