四平方和定理,又称为拉格朗日定理: 
每个正整数都可以表示为至多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个非负整数,按从小到大排序,中间用空格分开

例如,输入: 

则程序应该输出: 
0 0 1 2

再例如,输入: 
12 
则程序应该输出: 
0 2 2 2

再例如,输入: 
773535 
则程序应该输出: 
1 1 267 838

资源约定: 
峰值内存消耗 < 256M 
CPU消耗 < 3000ms

分析:直接四层循环可能会超时,可以考虑先将两个数能构成的平方和保存在map里面,如果在前两层循环的时候,发现剩下的数并不能由两个数的平方构成,就直接continue跳过~否则就判断第三层循环,然后用sqrt(num - a * a - b * b - c * c)算出最后一个数temp,看它是否为整数~如果是整数就输出~并且退出程序~

#include <iostream>
#include <cmath>
#include <map>
using namespace std;
int main() {int num;cin >> num;int n = sqrt(num);map<int, int> m;for (int a = 0; a <= n; a++) {for (int b = a; b <= n; b++) {m[a * a + b * b] = 1;}}for (int a = 0; a <= n; a++) {for (int b = a; b <= n; b++) {if (m[num - a * a - b * b] != 1) continue;for (int c = b; c <= n; c++) {double temp = sqrt(num - a * a - b * b - c * c);if(temp == (int)temp) {cout << a << " " << b << " " << c << " " << (int)temp;return 0;}}}}return 0;
}

第七届 蓝桥杯 省赛 第八题 四平方和相关推荐

  1. 第七届蓝桥杯b组第八题-四平方和

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

  2. 第七届 蓝桥杯 省赛 第六题 方格填数(next_permutation)

    填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能填写的方案? 请填写表示方案数目的整数- 分析:从左到右从上到下标为0-9,将a[10]中的数字依次填入 ...

  3. 2015年第七届蓝桥杯省赛C语言B组

    2015年第七届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题: 题目:奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就 ...

  4. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

  5. 太空大战-第14届蓝桥杯国赛Scratch真题中级组第6题

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第148讲. 太空大战,本题是2023年5月28日上午 ...

  6. 2016第七届蓝桥杯省赛C/C++ B组试题解析整理

    引言 今天是蓝桥杯省赛举办的日子,是一个很激动人心的时刻,也是我第一次参加蓝桥杯,从上午9点到下午1点,做题时间历经4个小时,想想就过瘾. 下面整理一下这次比赛的题目. *注:此处为了省事儿,全是用J ...

  7. 第七届蓝桥杯省赛JavaC组真题——详细答案对照(完整版)

    目录 A.有奖猜谜 B.煤球数目 C.平方怪圈 D.骰子游戏 E.分小组 F.凑算式 G.搭积木 H.冰雹数 I.四平方和 J.密码脱落 A.有奖猜谜 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的 ...

  8. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - B. 生日蜡烛

    生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始过生日par ...

  9. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - H. 四平方和

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

最新文章

  1. 云端迁移需谨遵四大关键步骤
  2. 为Apache动态增加模块
  3. 机器人网首页应用实例工业自动化 EtherCAT 技术在库卡机器人控制系统上的应用
  4. 使用Java 8 Lambda清理JUnit Throwable-Tests
  5. opencv实现几幅图像拼接成一整幅大图
  6. TensorFlow 2.4 发布
  7. R计算偏相关性示例教程
  8. linux内存映射对开发版刷屏,TQ6410/OK6410裸机LCD刷屏程序借助UBOOT来执行
  9. 基于原子哥开发套件,STM32应用开发的学习笔记
  10. 前端的几种数据存储方式
  11. Linux与数据库简要说明
  12. 安装Linux详细教程
  13. 服务器项目技术方案,直播项目技术实现方案(工作室)
  14. JAVA基础核心技术总结(2)--基本语法
  15. 传输层之UDP头部解析、UDP特点TCP头部解析、TCP特点
  16. 天龙八部武夷千年冰魄
  17. 通过vue-codemirror和CodeMirror将代码编辑器添加到web项目中
  18. 男人三十岁需要做到的事
  19. android build.ninja,Android中的Ninja简介
  20. 中国制药设备行业销售现状及竞争策略建议报告2022-2027年版

热门文章

  1. 【模仿】调用微信聊天功能和分享功能
  2. 如何写出让同事膜拜的漂亮代码?
  3. (八)Hibernate的一对多关联关系
  4. Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
  5. 微信群 保存到通讯录
  6. MYSQL 主从复制读写分离实现
  7. 【EhCache】Java缓存框架使用EhCache结合Spring AOP
  8. MS CRM 2011的自定义与开发(2)——预备知识
  9. 任务计划中的结果代码
  10. ASP.NET应用开发心得