java水仙花数
100以内是没有水仙花数的!
水仙花数定义:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
//100-999之间的数
public class Demo {
public static void main(String [] a){
for (int i=101;i<999;i++){
String s=new Integer(i).toString();
int temp=0;
int n=s.length();
for (int j=0;j<n;j++){
temp+=Math.pow(Character.digit(s.charAt(j), 10), n);
}
if(temp==i){
System.out.println(i);
}
}
}
}
//不太清楚你所说的100间的斐波那契数是什么概念 是100以内的斐波那契数 还是100步以内的斐波那契数,下面给你写的程序里面n是步数
public class Demo {
public static void main(String[] args) {
int n = 20;
fib(n);
}
public static void fib(int n) {
long f1 = 1, f2 = 1, fn = 0;
if (n == 1)
System.out.print(f1);
if (n == 2)
System.out.print(f2);
else {
System.out.print(f1+" ");
System.out.print(f2+" ");
for (int i = 2; i < n; i++) {
fn = f1 + f2;
f1 = f2;
f2 = fn;
System.out.print(fn+" ");
}
}
}
}
public class ShuiXianShu
{
/**
* 题目:打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
* 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
* 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*
*/
public static void main(String[] args)
{
for(int i=100;i<=999;i++)
{
int geWei,shiWei,baiWei;
baiWei=i/100;
shiWei=(i-baiWei*100)/10;
geWei=i-baiWei*100-shiWei*10;
if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei)
{
System.out.println(i);
}
}
}
}
这个是我以前做过的,楼主可以参考
给你一个任意位数的代码,修改number即可,大于100的任意数字,如果超出int范围,定义为long即可
String posNum = "";
int number = 1000000;
for(int i=100;i<=number;i++){
posNum = i+"";
int sum1 = 0;
for(int j=1;j<=posNum.length();j++){
int sum0 = 1;
for(int k=1;k<=posNum.length();k++){
sum0*=Integer.parseInt(posNum.charAt(j-1)+"");
}
sum1+=sum0;
}
if(i==sum1){
System.out.println(i);
}
}
public class Narcissus {
public static void main(String[] args) {
int a,b,c,d;
for(int i = 100; i < 1000; i++){ //计算100-1000以内三位数的水仙花数
d = i % 10;
c = i / 10 % 10;
b = i / 100;
if(i == b*b*b + c*c*c + d*d*d){
System.out.println(i);
}
}
for(int j = 1000; j < 10000; j++){ //计算1000-10000以内四位数的水仙花数
d = j % 10;
c = j / 10 % 10;
b = j / 100 % 10;
a = j / 1000;
if(j == a*a*a*a +b*b*b*b + c*c*c*c + d*d*d*d){ //四位数水仙花数定义
System.out.println(j);
}
}
}
}
Java 编程找出所有的水仙花数(水仙花数)。
代码如下:package com.vo;public class Shuixianhua {public static void main(String[] args) {int a=0;int b=0;int c=0;for(int i=100;i<999;i++){a=i\/100;b=i\/10%10;c=i%10;if(i==(a*a*a+b*b*b+c*c*c))System.out.println(i);} }} 首先水仙花数”是指一个三位数...
用Java写个关于“水仙花数”的程序?
代码如下:public class shuixianhua { public static void main(String[] args) { for (int i = 100; i <1000 ; i++) { int BaiNum = i\/100;\/\/分解出百位 int ShiNum = i\/10%10;\/\/分解出十位 int GeNum = i%10;\/\/分解出个位 \/\/判断是否为水仙花数,即百位的三次方+十位的三...
用java打印出所有的“水仙花数”。所谓的“水仙花数”是指一个三位数...
public static void main(final String[] args) {System.out.println("所有的水仙花数如下:");int x; \/\/ 百分位int y; \/\/ 十位int z; \/\/ 个位for (int i = 100; i < 1000; i++) {x = i \/ 100;y = (i- x * 100) \/ 10;z = i % 10;if (i == (cubic(x) + ...
java输出水仙花数
- 三位自幂数,即水仙花数,如 153、370、371、407。- 四位自幂数称为四叶玫瑰数。- 五位自幂数称为五角星数。- 六位自幂数称为六合并粗数。- 七位自幂数称为北斗七星数。- 八位自幂数称为八仙数。- 九位自幂数称为九九肆桐重阳数。- 十位自幂数称为十全十美数。以下是一个Java程序的...
用java编写100到999之间的水仙花数。???
public class flower { zpublic static void main(String[] args){ for (int t=100;t<=999;t++){ int a=t\/100,b=(t%100)\/10,c=(t%100)%10;if (t==a*a*a+b*b*b+c*c*c){ System.out.println(t);} } } } ...
java中求解水仙花数的算法思想是什么?
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。从上面的定义可以看出,只要将给出的数字各个位数的数字分解出来,然后把个数字的3次方相加与原数相比是否相等即可判断出是否为水仙花数,给你一段源码,是求100~1000内的水仙花数,有注释,希望对你有帮助:public...
用java语言编写打印输出100 ――999之间所有的水仙花数
输入3就是100-999的
java求1-1000水仙花数嗯
public static void test(int maxNum) {System.out.println(maxNum + "以内的所有水仙花数:");for (int i = 1; i < maxNum; i++) {int a = i \/ 100;\/\/ 获取百位数int b = i \/ 10 % 10;\/\/ 获取十位数int c = i % 10;\/\/ 获取个位数if (Math.pow(a, 3) + Math.pow...
java中for循环题:打印出所有的"水仙花数",所谓"水仙花数"是指一个...
public class sxh { public static void main(String[] agrs) { for (int i = 100; i < 1000; i++) { int a = i \/ 100;int b = i \/ 10 % 10;int c = i % 10;if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i)System.out.println("水仙花数 : ...
求java小程序:水仙花树(数)
水仙花数定义:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)\/\/100-999之间的数 public class Demo { public static void main(String [] a){ for (int i=101;i<999;i++){ String s=new Integer(i)....