62,614
社区成员
发帖
与我相关
我的任务
分享
public class Narcissistic{
public static boolean narcissistic(int num){
boolean flag = false;
int n=0, sum=0, copy=num;
n = (num+"").length();
for(int i=0; i<n; i++){
sum += (int)Math.pow(num%10, n);
num /= 10;
}
if(sum == copy)
flag = true;
return flag;
}
public static void main(String args[]){
for(int i = 0; i<=99999; i++){
if(narcissistic(i))
System.out.print(i+" ");
}
}
}
/**
* 打印出1~10000范围中的所有“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数立方和等于该数本身。
* @author lenovo
*
*/
public class TestNarcissus {
static int result = 0;
static int unit=0;//各位
static int decade = 0;//十位
static int hunder = 0;//百位
public static int accountNumber(int a,int b,int c){
result = a*a*a+b*b*b+c*c*c;
return result;
}
public static boolean Calculation(int toCal){
hunder = toCal/100;
decade = (toCal-100*hunder)/10;
unit = toCal - 100*hunder-10*decade;
if(toCal==accountNumber(hunder, decade, unit)){
return true;
}
return false;
}
public static void main(String[] args){
for(int i = 1;i<10000;i++){
if(Calculation(i)){
System.out.println(i);
}
}
}
}
public static void main(String[] args) {
int a,b,c,s;
for(int i = 100; i <= 999; i++){
a = i / 100;
b = i % 100 / 10;
c = i % 10;
s = a*a*a + b*b*b + c*c*c;
if(i == s){
System.out.println(i);
}
}
}
public class Test3 {
/**
* 题目:打印出所有的 "水仙花数 ",
* 所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
* 例如:153是一个 "水仙花数 ",
* 因为153=1的三次方+5的三次方+3的三次方。
*/
static int num1;
static int num2;
static int num3;
public static void main(String[] args) {
Test3.showInfo(1000);
}
public static void showInfo(int n)
{
for(int sum=101; sum<n; sum++)//三位数,100不可能是
{
num1 = sum / 100;//第一位
num2 = sum % 100 / 10;//求余,两位,除10小数点左移,得第二位
num3 = sum % 10;//求余,一位,得第三位
if((num1*num1*num1 + num2*num2*num2 + num3*num3*num3) == sum)
{
System.out.println(sum+"是一个水仙花数");
}
}
}
}