一、水仙花数
水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371就是一个水仙花数。
(一)判断一个数是否是水仙花数:
代码如下:
public class Demo05 {
public static void main(String[] args) {
System.out.println("算法:水仙花数\n");
int b1,b2,b3=0;
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个三位数:");
int x=sc.nextInt();
b1=x/100;
b2=(x/10)%10;
b3=x%10;
if(b1*b1*b1+b2*b2*b2+b3*b3*b3==x){
System.out.println(+x+"是水仙花数!");
}
else{
System.out.println(+x+"不是水仙花数!");
}
}
}
(二)输出100~999之间的所有水仙花数
代码如下:
public class Demo06 {
public static void main(String[] args) {
int b1,b2,b3=0;
for(int i=100;i<=999;i++){
b1=i/100;
b2=(i/10)%10;
b3=i%10;
if(b1*b1*b1+b2*b2*b2+b3*b3*b3==i){
System.out.println(+i+"是水仙花数!");
}
}
}
}
二、斐波那契序列
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、…… ——————来自百度
其规律很明显,从第3个数开始,每个数都等于它前两个数的和。
代码如下:
public class Demo07 {
public static int getFib(int n){
if(n==1||n==2){
return 1;
}
else{
return getFib(n-2)+getFib(n-1);
}
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前20项:");
for(int j=1;j<=20;j++){
System.out.println(getFib(j)+"\t");
}
}
}
一个菜鸟的算法 如有优化,欢迎评论交流