考虑方程式:a^3 + b^3 = c^3 + d^3

其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数。

这个方程有很多解。比如:

a = 1,b=12,c=9,d=10 就是一个解。因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729。

当然,a=12,b=1,c=9,d=10 显然也是解。

如果不计abcd交换次序的情况,这算同一个解。

你的任务是:找到所有小于30的不同的正整数解。把a b c d按从小到大排列,用逗号分隔,每个解占用1行。比如,刚才的解输出为:

1,9,10,12

不同解间的顺序可以不考虑。

package com.liu.ex10;

import java.util.ArrayList;
import java.util.Collections; public class Main { public static boolean judge(ArrayList<Integer> tempList) {
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i = 0;i < tempList.size();i++)
list.add(tempList.get(i));
Collections.sort(list);
for(int i = 1;i < list.size();i++) {
if(list.get(i - 1) == list.get(i))
return false;
}
return true;
} public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
for(int a = 1;a < 30;a++) {
for(int b = 1;b < 30;b++) {
for(int c = 1;c < 30;c++) {
for(int d = 1;d < 30;d++) {
ArrayList<Integer> tempList = new ArrayList<Integer>();
tempList.add(a);
tempList.add(b);
tempList.add(c);
tempList.add(d);
if(judge(tempList) == true) {
if(a*a*a + b*b*b == c*c*c + d*d*d) {
Collections.sort(tempList);
String A = ""+tempList.get(0)+","+tempList.get(1)+","+tempList.get(2)+","+tempList.get(3);
if(!list.contains(A))
list.add(A);
}
}
}
}
}
} for(int i = 0;i < list.size();i++)
System.out.println(list.get(i));
}
}

java实现立方和等式的更多相关文章

  1. 算法笔记_125:算法集训之编程大题集一(Java)

     目录 1 砝码称重 2 公式解析 3 购物券消费方案 4 机器人行走 5 角谷步数 6 矩形区域的交和并 7 矩阵变换加密法 8 控制台表格 9 拉丁方块填数字 10 立方和等式   1 砝码称重 ...

  2. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. 等式变换java解法

    输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立. 1 2 3 4 5 6 7 8 9 = X 比如: 12-34+5-67+89 = 5 1+23+4-5+6-7-8-9 ...

  4. Java练习 SDUT-1230_平方和与立方和

    平方和与立方和 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇 ...

  5. P1149_火柴棒等式(JAVA语言)

    题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-90−9的拼法如图所示 ...

  6. 编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的 立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来 测试类Print

    package zuoye; public class print { void output() { System.out.println("100-999之间的水仙花数是:") ...

  7. Java实现 洛谷 P1149 火柴棒等式

    import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.S ...

  8. 6.编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的 立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来 测试类Print。

    Print类: package com.bao; public class Print { int g,s,b; void outPut() { for(int i=100;i<1000;i++ ...

  9. 第2章 Java基本语法(下): 流程控制--项目(记账本)

    2-5 程序流程控制 2-5-1 顺序结构 2-5-2 分支语句1:if-else结构 案例 class IfTest1{ public static void main(String[] args) ...

随机推荐

  1. 透过面试题掌握HashMap【持续更新中】

    本文主要是自己阅读了HashMap和ConcurrentHashMap源码及一些Java容器类相关的博客后,找了一些很多面经中涉及到的Java容器相关的面试题,自己全部手写的解答,也花了一些流程图,之 ...

  2. Two Operations Gym - 102263M 优先队列水题

    Two Operations Gym - 102263M Ayoub has a string SS consists of only lower case Latin letters, and he ...

  3. sql:exists 与 not exists

    $sql = "select a.Vchcode,a.vdate,a.btypeid,a.vcomment,a.total,a.vnumber,b.bfullname,b.artotal,b ...

  4. pytest——pycharm中右击运行(run)没有问题,在terminal中运行pytest报错:E ModuleNotFoundError: No module named

    参考了这个解决办法:https://blog.csdn.net/qq_36829091/article/details/82180866 我的是Windows,linux的和Windows的解决办法有 ...

  5. Hyperledger Fabric——balance transfer(四)安装和实例化chaincode

    详细解析blance transfer示例的安装(install)和实例化(Instantiate)链码(chaincode)的过程.安装chaincode会根据本地的链码文件生成chaincode镜 ...

  6. 十、理解JavaBean

    1. 理解Bean 1.JavaBean本身就是一个类,属于Java的面向对象编程. 2.在JSP中如果要应用JSP提供的Javabean的标签来操作简单类的话,则此类必须满足如下的开发要求: (1) ...

  7. DQN(Deep Q-learning)入门教程(一)之强化学习介绍

    什么是强化学习? 强化学习(Reinforcement learning,简称RL)是和监督学习,非监督学习并列的第三种机器学习方法,如下图示: 首先让我们举一个小时候的例子: 你现在在家,有两个动作 ...

  8. 没找到工作的Java软件工程师是屌丝中的屌丝啊

    Java软件开发的工作咋就那么难找呢?

  9. java第十三周课后作业 0529

    1.把多个企鹅的信息添加到集合中查看企鹅的数量及所有企鹅的信息删除集合中部分企鹅的元素判断集合中是否包含指定企鹅 package homework; import java.util.ArrayLis ...

  10. for循环结构的使用

    /* for循环格式: for(①初始化条件; ②循环条件 :③迭代部分){ //④循环体 } 执行顺序:①-②-④-③---②-④-③-----直至循环条件不满足 退出当前循环 * */ publi ...