helloworld


私信TA

用户名:uq_62636900566

访问量:583

签 名:

想要变成大佬

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

  自我简介:

.0.0.0.0.0.0.

TA的其他文章

解题思路:

注意事项:

参考代码:

#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 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

  • «
  • »