您的位置:首页 > 其它

找出一定范围内多个连续整数,使其立方之和恰好等于另一个整数的立方

2018-03-30 22:59 411 查看
找出一定范围内多个连续整数,使其立方之和恰好等于另一个整数的立方:



package com.ftl;

import java.util.Iterator;

public class LiFangShu {

public static void main(String[] args) {
// 找出一定范围内多个连续整数,使其立方之和恰好等于另一个整数的立方
//例:3^3+4^3+5^3=6^3
double d=Math.pow(3, 3)+Math.pow(4, 3)+Math.pow(5, 3);
if (d==Math.pow(6, 3)) {
System.out.println("真");
}else {
System.out.println("假");
}
LiFangShu lfs=new LiFangShu();
lfs.lifangshu();

}

//找出一定范围内多个连续整数,使其立方之和恰好等于另一个整数的立方
public void lifangshu() {
//确定起始数,暂设为0~100
for (int i = 1; i <101 ; i++) {
//结束数,暂设置项数在2~100项之间
long sum=(long) Math.pow(i, 3);
for (int j =i+1 ; j <i+101 ; j++) {
sum+=Math.pow(j, 3);
if ((float)Math.pow(sum, 1.0/3)%1==0) {
System.out.println();
System.out.println(i+"^3+...+"+j+"^3="+(int)(float)Math.pow(sum, 1.0/3)+"^3");
}
}
}
}

}
最初写的时候if中的判断语句是:if (Math.pow(sum, 1.0/3)%1==0) {
System.out.println();
System.out.println(i+"^3+...+"+j+"^3="+(int)(float)Math.pow(sum, 1.0/3)+"^3");
}由于二进制存储的问题所以一个等式都没有打印出来,输出了一下Math.pow(216,1.0/3)
输出结果为5.99999999999999,最后对其进行转型为float才使得能够输出等式。

控制台输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐