刚入坑编程,请大佬帮忙解析一下水仙花数。
public class Narcissus {
public static void main(String[] args) {
}
}
}
package Studytest;
public class Prog3 {
public static void main(String [] args)
{
for(int i=100;i<1000;i++)
{
if(isLotus(i))
{
System.out.print(i+" ");
}
}
}
//判断水鲜花数
private static boolean isLotus(int lotus)
{
int bai=0;
int shi=0;
int ge=0;
int sum=0;
int n=0;
n=lotus;
bai=n/100;
sum=bai*bai*bai;
n=n-(bai*100);
shi=n/10;
sum+=(shi*shi*shi);
ge=n-(shi*10);
sum+=(ge*ge*ge);
if(lotus==sum)
{
return true;
}else {
return false;
}
}
}
代码如上,万望采纳。
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
public class NarcissusNum {
public static void main(String[] args) {
for(int a=100;a<=999;a++){
int gw=a%10;//个位数取余
int sw=a/10%10;//十位数取余
int bw=a/100%10;//百位数取余
int gg=gw*gw*gw;//个位求幂
int ss=sw*sw*sw;//十位求幂
int bb=bw*bw*bw;//百位求幂
int aa=gg+ss+bb;//最后的幂之和
if(aa==a) {
System.out.println("100-999之间的水仙花数为:"+a);
}
}
}
}
public static void main(String[] args) {
System.out.println("100~999之间的水仙花数:");
for (int i = 100; i < 999; i++) {
int unit = i % 10;
int ten = i / 10 % 10;
int hundred = i / 100;
if (unit * unit * unit + ten * ten * ten + hundred * hundred * hundred == i) {
System.out.println("\n水仙花数:" + i);
}
}
}
public class ShuiXianHua {
public static void main(String[] args){
for(int i = 1; i < 1000; i++){
int a = i / 100;//取得百位数
int b = (i - (j1 * 100)) / 10;//取得十位数
int c = (i - (j1 * 100 + j2 *10));//取得个位数
if(a * a * a + b * b * b + c * c *c == i){
System.out.println(i + "这是一个水仙花数");
}
}
}
}
如有帮助请点击一下采纳,谢谢!
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632