Java编程一个玫瑰花数_小蚂蚁学习C语言(39)——题目——求一个数字是否是玫瑰花数...

写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即四位数各位数字的四次方和恰好等于该数本身,如: 1634 = 1^4 + 6^4 + 3^4 + 4^4)。在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否为玫瑰花数,若是则输出“yes”,否则输出“no”。

用了最屌丝的一个方法,算出来了 ≡[。。]≡

# include 

void rose( int num )

{

int a, b, c, d;

//首先需要判断每个位置上的数是几

a = num/1000;

b = num/100%10;

c = num/10%10;

d = num%10;

//printf( "%d的千位数是%d,百位数是%d,十位数是%d,个位数是%d\n", num, a, b, c, d );

if( a*a*a*a + b*b*b*b + c*c*c*c + d*d*d*d == num )

{

printf( "%d是玫瑰花数\n", num );

}

else

{

printf( "%d不是玫瑰花数\n", num );

}

}

int main( void )

{

int num;

printf( "请输入一个四位数:\n" );

scanf( "%d", &num );

rose( num );

return 0;

}

/*

在VC++6.0中输出的结果是

=====================================

请输入一个四位数:

1634

1634是玫瑰花数

请输入一个四位数:

3256

3256不是玫瑰花数

=====================================

总结:

感觉这是个最为简单粗暴的方法。

*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值