|
发表于 2021-7-23 11:14:02
|
显示全部楼层
package code_test;
import java.util.ArrayList;
//1.黄金分割点 寻找某两个数相除,其结果 离黄金分割点 0.618最近
//分母和分子不能同时为偶数 ,分母和分子 取值范围在[1-20]
//
//2.水仙花数 水仙花数定义:1. 一定是3位数 2. 每一位的立方,加起来恰好是这个数本身,比如153=1*1*1+5*5*5+3*3*3
//寻找所有的水仙花数
//
//3.小学算术题 提示:使用多层循环嵌套解决
//口 + 口 =8
//+ +
//口 - 口 =6
//=14 =10
public class day5_黄金分割 {
public static void main(String[] args) {
// calDivision(1,20);
// calDaffodil();
calNumeracy();
}
public static void calDivision(int start, int end){
float disparity=end;
ArrayList lList = new ArrayList();
for(int i=end; i >=start; i-=1){
//这是最接近的数
double j = i*0.618;
// System.out.println(""+j+":"+(j/i-0.618)+"\t"+(j+1) +":"+ (j/i))
// System.out.println("%d:%2.3f%d:%2.3f",j,(j/i),(j+1),(j+1)/i);
System.out.println(String.format("%2.2f:%2.3f\t\t%2.2f:%2.3f",j,(j/i)-0.618,(j+1),((j+1)/i)-0.618));
// for ((j+0.5)%1; )
// if ( j <end){
// for (double j=j; start <end; j+=1){
//
// } ;
} ;
} ;
public static void calDaffodil(){
for(int i=100;i <1000; i+=1){
int a = i / 100;
int b = (i - a*100)/10;
int c = (i -a*100 -b*10)/ 1;
if (a*a*a + b*b*b + c*c*c == i){
System.out.println("当前数位水仙花数:" + i);
}
}
}
public static void calNumeracy(){
int a=0;
int b=0;
int c=0;
int d=0;
boolean state = true;
while (a <=8){
a +=1;
b= 8 -a;
c = 14 -a;
d = 10 -b;
if (c-d ==6){
System.out.println(String.format("a:%s\tb:%s\tc:%s\td:%s",a,b,c,d));
break;
}
}
}
};
|
|