用c语言编辑一个玫瑰花数(一个四位数,各个数字的4次方之和等于它本身,求出满足条件的所有四位数)的
2个回答
展开全部
#include <stdio.h>
main()
{
// 从键盘上输入一个四位数,判断其是否为四叶玫瑰数
// (提示:四叶玫瑰数是指一个四位数,它的每个位上的数字的4次幂之和等于它本身)
int rose,one,two,three,four;
scanf("%d",&rose);//
four=rose/1000;
three=rose/100%10;
two=rose/10%10;
one=rose%10;
four=four*four*four*four;
three=three*three*three*three;
two=two*two*two*two;
one=one*one*one*one;
if((four+three+two+one)==rose)
printf("%d",rose);
}
main()
{
// 从键盘上输入一个四位数,判断其是否为四叶玫瑰数
// (提示:四叶玫瑰数是指一个四位数,它的每个位上的数字的4次幂之和等于它本身)
int rose,one,two,three,four;
scanf("%d",&rose);//
four=rose/1000;
three=rose/100%10;
two=rose/10%10;
one=rose%10;
four=four*four*four*four;
three=three*three*three*three;
two=two*two*two*two;
one=one*one*one*one;
if((four+three+two+one)==rose)
printf("%d",rose);
}
展开全部
输出是 1634 8208 9474
#include<stdio.h>
int rose(int digit) {
int n = digit;
int k=0;
int value = 0;
int sum = 0;
while(n>0) {
k = n % 10;
sum += k*k*k*k;
n /= 10;
}
if( sum == digit) {
return 1;
}
return 0;
}
int main()
{
int i;
int count = 0;
for(i=1000; i<=9999; i++) {
if (rose(i)) {
count++;
printf("%4d ", i);
}
}
getchar();
return 0;
}
#include<stdio.h>
int rose(int digit) {
int n = digit;
int k=0;
int value = 0;
int sum = 0;
while(n>0) {
k = n % 10;
sum += k*k*k*k;
n /= 10;
}
if( sum == digit) {
return 1;
}
return 0;
}
int main()
{
int i;
int count = 0;
for(i=1000; i<=9999; i++) {
if (rose(i)) {
count++;
printf("%4d ", i);
}
}
getchar();
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询