各位大佬看看,这道题怎么写

4. 金仙花数

题目ID:7954必做题100分

最新提交:0 分

历史最高:0 分

时间限制: 200ms

空间限制: 32768kB

题目描述

时间:0.2s 空间:32M

题目描述:

定义金仙花数 xx 满足以下性质:

xx 的各个数位之和大于等于 20,且 xx 的各个数位乘积大于等于 162 。

给定 nn ,求小于等于 nn 的金仙花数个数。

输入格式:

一个正整数 nn 。

输出格式:

一个数表示答案。

样例输入:

299

样例输出:

1

约定:

1<=n<=1000001<=n<=100000

2 个赞

论坛有人讲解 你去搜

2 个赞

这一题不是上一讲的吗?先把各位求出来,个位(n%10),十位(n/10),百位(n/100),加起来就行了,用while嵌套for就可以了.

2 个赞

核心代码(取位运算代码):

while((i2)!=0){
      j*=(i2)%10;
      k+=(i2)%10;
      (i2)/=10;
    }
1 个赞

:sweat:

1 个赞

你还是这么6

1 个赞

:sweat: :sweat: :sweat: :sweat: :sweat:

1 个赞

坚决不行

快删了

1 个赞

被举报了会删帖

1 个赞
//一个伪代码

#include<iostream>
using namespace std;
int main()
{
	int n,x,b=0;//b用来存储金仙花数的个数
	cin>>n;
	for(x=1;x<=n;x++)
	{
        int sum=0,a=1;
      int c=x;
		while(c)
		{
			 //数字和
			//各位数字之积
			c/=10;
		}
		if(sum>=20&&a>=162)
		{
			b++;
		}
	}
	cout<<b;
	return 0;
}