题目描述:

四平方和定理,又称为拉格朗日定理:

每个正整数都可以表示为至多4个正整数的平方和。

如果把0包括进去,就正好可以表示为4个数的平方和。

比如:

5 = 0^2 + 0^2 + 1^2 + 2^2

7 = 1^2 + 1^2 + 1^2 + 2^2

(^符号表示乘方的意思)

对于一个给定的正整数,可能存在多种平方和的表示法。

要求你对4个数排序:

0 <= a <= b <= c <= d

并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法

程序输入为一个正整数N (N<5000000)

要求输出4个非负整数,按从小到大排序,中间用空格分开

import java.util.*;public class Main{private static Scanner scanner;public static void main(String[] args) {scanner = new Scanner(System.in);System.out.println(": ");         // 提交代码的时候注释掉int N = scanner.nextInt();// 前三个数int a, b, c;// 最后一个数double d;double tmp = Math.sqrt(N);        // 减少时间复杂度for (a = 0; a < tmp; a++) {for (b = a; b < tmp; b++) {for (c = b; c < tmp; c++) {d = Math.sqrt(N - a * a - b * b - c * c);        // 优化(去掉第四层循环)if (d == (int) d) {System.out.println(a + " " + b + " " + c + " " + (int) d);return;}}}}}}

例如,输入:

5

则程序应该输出:

0 0 1 2

再例如,输入:

12

则程序应该输出:

0 2 2 2

再例如,输入:

773535

则程序应该输出:

1 1 267 838

JAVA算法(四平方和)相关推荐

  1. java中b的平方表示_第七届蓝桥杯Java B——四平方和

    四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 ...

  2. java dfs算法蓝桥杯题_【蓝桥杯省赛JavaB组真题详解】四平方和(2016)_疼疼蛇的博客-CSDN博客...

    原文作者:疼疼蛇 原文标题:[蓝桥杯省赛JavaB组真题详解]四平方和(2016) 发布时间:2021-02-26 15:00:01 题目描述 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数 ...

  3. java经典算法四十题

    java经典算法四十题 [程序9]题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ".例如6=1+2+3.编程找出1000以内的所有完数. public class W ...

  4. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  5. [转载] java实现四种常用排序算法

    参考链接: 用Java排序 四种常用排序算法 ##注:从小到大排 ##冒泡排序## 特点:效率低,实现简单 思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有 ...

  6. java环形链表_数据结构和算法(四)Java实现环形链表

    1. 数据结构和算法(四)Java实现环形链表 1.1 约瑟夫问题 约瑟夫问题:公元66年,约瑟夫不情愿地参与领导了犹太同胞反抗罗马统治的起义,后来起义失败,他和一些宁死不降的起义者被困于一个山洞之中 ...

  7. Java数据结构和算法(四)--链表

    日常开发中,数组和集合使用的很多,而数组的无序插入和删除效率都是偏低的,这点在学习ArrayList源码的时候就知道了,因为需要把要 插入索引后面的所以元素全部后移一位. 而本文会详细讲解链表,可以解 ...

  8. java实现第七届蓝桥杯四平方和

    四平方和 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^ ...

  9. 蓝桥七届 四平方和 JAVA

    四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 ...

最新文章

  1. 曾捡破烂为生,穷到没饭吃,现在身家395亿,给员工发3亿年终奖!
  2. python snmp 交换机 配置文件_如何使用python从SNMP获取数据?
  3. Android No static field XXX of type I in class Lcom/XXX/R$id错
  4. faceboxes自定义encode
  5. 为什么数组排序大写字母在前小写字母在后
  6. 使用JWT的Cloud Native应用程序
  7. mysql函数创建与使用_mysql function函数创建与应用方法
  8. macOS Big Sur怎么样?值得升级吗?Big Sur与Catalina的对比
  9. c++该转java吗_java多线程,静态方法加锁后,调用该方法会影响其它方法吗?
  10. 三、Nginx内置变量
  11. Python 进阶篇
  12. Swift iOS : plist
  13. 如何制作一个读取U盘文件系统的工程
  14. 等保中级测评师复习大纲2019版
  15. 电子计算机工程 专业大学排名,电子与计算机工程专业大学排名【科教评价网版】...
  16. Pubg九月十六日服务器维护,9月16日绝地求生更新时间公告 绝地求生9月16日更新维护...
  17. HTML 按钮交互,20 个交互非常棒的按钮代码_html/css_WEB-ITnose
  18. 想要成为大牛应该做到以下几点
  19. uni-app开发模式中的选择图片(uni.chooseImage)、上传图片(uni.uploadFile)、图片预览(uni.previewImage)
  20. 2020年美容师(初级)多少钱及美容师(初级)模拟考试题库

热门文章

  1. 网站优化怎样的外链能轻松收录,网站外链优化攻略
  2. cerebro 配置
  3. 为什么老程序员的效率如此高?编程速度快,Bug数量又少?
  4. uniapp app内使用微信H5支付
  5. navicat连接pgsql报错:authentication method 10 not supported
  6. 我的第一个安卓应用程序_我如何设计我的第一个应用程序
  7. 千万别惹程序员,39 个奇葩代码注释...
  8. Javaweb ajax实现分页
  9. java毕业生设计大学生兼职平台计算机源码+系统+mysql+调试部署+lw
  10. 【奇技淫巧】Linux | 时光之主-date