codewars_d2题
2018-06-21 14:09:46   0  举报             
     
         
 codewars_d2题 
    作者其他创作
 大纲/内容
 2
  1
  3
  5
  已解
    4
  所有立方体的体积之和要刚好为m也就是传入的long类型m
  (n-3)³
  9
  通过对非1的自身的立方相乘能获取到该数值的自身倍数的立方的立方数
  数值表示单边边长
  不过sum还得去进行累加.这就很麻烦了
  2³
  确定了pfg的区间使用二分查找
  立方体的体积最顶端要为1³
  第一个数的立方1第二个数的立方8得9 加上第二个数的立方的平方16 = 2525*第五个数 = 125 即第五个数的立方
  int m = 1071225;\t double sqrt = Math.sqrt(m);   System.out.println(sqrt);         double doubleSqrt = sqrt*2;\t\tSystem.out.println(doubleSqrt);n如果为100.n*(n+1)/2 即为 1+2...+n的总和
                          s = sl0;\t\t\tpfg = s*s;\t\t\tSystem.out.println(\"当l0为:\"+l0+\".此时pfg值:\"+pfg+\"减去m值:\"+m+\":\"+(pfg-m));//\t\t\tSystem.out.println(\"当左移\"+l0+\
  0
  观察下1....n这些数的立方的规则
  夜4:打卡
  什么是二分查找的链接🔗
  对应的二进制1 :  18 : 100027 :  1101164 : 1000000125 : 1111101216 : 11011000343 : 101010111512 : 1000000000
  n-5
  1035*2 = 20702070的开方即为最终结果.但2070的开方为45.49.........
  n³
  获取的n为正方体的边长
  n-0
  当l0为:1.此时pfg值:4减去m值:4183059834009:-4183059834005当l0为:2.此时pfg值:64减去m值:4183059834009:-4183059833945当l0为:3.此时pfg值:4096减去m值:4183059834009:-4183059829913当l0为:4.此时pfg值:1048576减去m值:4183059834009:-4183058785433当l0为:5.此时pfg值:1073741824减去m值:4183059834009:-4181986092185当l0为:6.此时pfg值:4398046511104减去m值:4183059834009:214986677095当l0为:6跳出循环.此时pfg值:4398046511104大于了m值:4183059834009:214986677095
  根据石麦迪同学的公式:1³ + 2³ +3³ = 36简便 (1+2+3)² = 361³+2³+3³+4³=100简便(1+2+3+4)² =1001³+2³+3³+4³+5³=225简便(1+2+3+4+5)²=2251³+2³+3³+4³+5³+6³=441(1+2+3+4+5+6)²=441...
  上方的正方体的体积之和等于下面正方体对应的单面面积这样组合的正方形的平方面积
  (n-2)³
  1035 
  1³
  (n-1)³
  解题test1
  public class ASum {\t\tpublic static long findNb(long m) {\t\t// your code    double x = Math.sqrt(m);    if (x != (Math.round(x))) {        return -1;    }    long n = (long)(Math.floor(Math.sqrt(x * 2)));    return n;\t}\t}
  public static long findNb(long m) {\t\t// your code}\t
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 