求助蓝桥杯的题
查看原帖
求助蓝桥杯的题
981751
huangyanjun123456楼主2023/5/27 16:54
四叶玫瑰数是指一个四位数,其各位上的数字的四次方之和等于本身。
给定两个正整数N和M请将N~M (1N<M<1000000)之间(含N和M)的四叶玫瑰数按从小到大的顺序输出。
例如:N=1234,M-2345时,有一个四叶玫瑰数故输出1634.因为14 + 6^4 + 34 +44 =1634,
1634。
输入描述
第一行输入两个正整数N、M (1SN<M1000000)
输出描述
输出一行,包含若干个用一个空格隔开的正整数,表示N~M之间的四叶玫瑰数按从小到大的顺序的输出结果
注意:
题目数据保证给定的N~M范围内至少有一个四叶玫瑰数
样例输入
1234 2345
样例输出
1634

这是我的代码

#include <bits/stdc++.h>
using namespace std;
int main() {
	int n,m,ans=0,t,digit,a[5]={},h=1;
	cin>>n>>m;
	while(t!=0){
		digit=t%10;
		t=t%10;
		a[h]=t;
		h++;
	}
	for(int i=n;i<=m;i++){
		t=i;
		if(a[1]*a[1]*a[1]*a[1]+a[2]*a[2]*a[2]*a[2]+a[3]*a[3]*a[3]*a[3]+a[4]*a[4]*a[4]*a[4]==i){
			cout<<i<<" ";
		}
	}
	return 0; 
}
2023/5/27 16:54
加载中...