java实现立方和等式
JAVA 实现 立方
2023-09-14 08:58:12 时间
考虑方程式: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用什么软件_Java编程什么软件最好用?
- java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]
- java 链表长度_Java实现单向链表[通俗易懂]
- java中static关键字的作用_Java:Java中static关键字作用
- java 堆栈的声明_Java 堆栈[通俗易懂]
- JAVA 实现 FTP 文件上传、下载和删除
- java populate_BeanUtils 以及BeanUtils.populate使用[通俗易懂]
- 用java实现笛卡尔积_Java实现笛卡尔积
- JAVA数据库连接池_java与数据库的连接怎么实现
- java定时器实例_Java定时器小实例
- java 获取当前时间的三种方法_java获取单层文件夹大小
- rtsp 获取视频流 java_Java获取rtsp视频流,实现rtsp流预览功能,并将视频流每帧保存成图片…
- java 舆情分析_基于Java实现网络舆情分析系统研究与实现.doc[通俗易懂]
- Java连接MySQL:实现数据互通(java如何连接mysql)
- Java操作Oracle数据库:实现数据库连接与访问(java连接oracle数据库)
- java spring boot 拦截器 实现未登录用户不能登录详解编程语言
- Linux调用Java实现编程快速开发(linux调用java)
- 实现Java实现Redis集合的技术研究(redis集合java)
- 管理利用Java实现Redis中Key的过期管理(redisjava过期)
- Redis与Java实现过期缓存(redisjava过期)
- 处理Java与Redis结合:使用Redisson实现过期处理(redisjava过期)
- Java操作Redis实现数据快速存取(java访问redis)
- 使用Java实现MySQL数据恢复操作(java恢复mysql)
- Linux平台上C语言接口调用Java语言实现(linux c调java)
- java使用Weka、Linux和Java构建强大的数据分析系统(weka linux)
- Java实现嵌入式MySQL的新解决方案(java嵌入式mysql)
- 在Linux上实现Java程序的运行(linux运行java程序)
- 查找Java进程:Linux解决方案(linux查找java进程)
- Linux测试搭配Java快速实现稳定性验证(linux测试java)
- Java导入Oracle 实现快速数据传输(java导入oracle)
- Oracle中实现Java程序设计的极限可能性(oracle中的java)
- java实现日历(某年的日历,某月的日历)用户完全自定义