1.水仙花数定义:
1.一定是3位数 2.每一位的立方,加起来恰好是这个数本身,比如153=1*1*1+5*5*5+3*3*3 寻找所有的水仙花数 123
public class Narcissus{ public static void main(String[] args) { for (int i = 100; i < 1000; i++) { int q = i / 100; //获得个位数; int b = i / 10 % 10; //获得百位数; int g = i % 10; // 获得个位数 int value = q * q * q + b * b * b + g * g * g; if (value == i) { System.out.println("水仙花数是:" + i); } } } } 1234567891011121314
2.寻找某两个数相除,其结果 离黄金分割点 0.618最近
分母和分子不能同时为偶数 分母和分子 取值范围在[1-20] 12
public class BreakPoint{ public static void main(String[] args) { int range =20 ; //取值的范围 int Afenzi = 0; // 分子 int Afenmu = 0; // 分母 float breakgolden = 0.618f; //分割点 float diff = 100; //离黄金分割的差值 for (int fenzi = 0; fenzi < range ; fenzi++) { for ( int fenmu= 0; fenmu < range; fenmu++) { //如果分子和分母同时为偶数则跳出 if (fenzi % 2 == 0 && fenmu % 2 == 0) { continue; } //取值 float value = (float) fenzi / fenmu; // 取离黄金分割点的差值 float minbreak = value -breakgolden; // 绝对值 minbreak = minbreak<0 ? 0-minbreak:minbreak; // 找出最小的差值 if (minbreak<diff){ diff = minbreak; Afenzi =fenzi; Afenmu = fenmu; } } } System.out.println("离黄金分割("+breakgolden+")最近的是:"+Afenzi+"/"+Afenmu +"="+ (float)Afenzi/Afenmu); } }
12345678910111213141516171819202122232425262728293031