水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如: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+"不是水仙花数!"); } } }
代码如下:
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"); } } }
一个菜鸟的算法 如有优化,欢迎评论交流