四平方和

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

例如,输入:
5
则程序应该输出:
0 0 1 2

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

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

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

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

#include"iostream"
#include"cstdio"
#include"deque"
#include"math.h"
#include"algorithm"
#include"string.h"
using namespace std;int n;
bool sign=false;void dfs(int cur,int ai[4])
{if(sign)return ;if(cur==4){for(int i=0;i<3;i++){cout<<ai[i]<<" ";}cout<<ai[3]<<endl;sign=true;return;}if(cur==3){int son=sqrt(n);if(son*son==n){ai[cur]=son;dfs(cur+1,ai);} return; }for(int i=0;i<=sqrt(n/(4-cur));i++)          //0{if(i*i<=n){n-=i*i;ai[cur]=i;dfs(cur+1,ai);n+=i*i;ai[cur]=0;}}
}int main()
{int ai[4];while(cin>>n){sign=false;memset(ai,0,sizeof(ai));dfs(0,ai);}return 0;
}

搜索题,值得注意的是,第四个数要直接进行判断,判断是否满足条件,否者可能会超时,当我们找到第一个值的时候,那就是答案,递归程序就可以结束了

第七届蓝桥杯b组第八题-四平方和相关推荐

  1. 第七届 蓝桥杯 省赛 第八题 四平方和

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

  2. 征战蓝桥 —— 2016年第七届 —— C/C++A组第8题——四平方和

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

  3. 2016蓝桥杯java试题_2016年第七届蓝桥杯JavaB组省赛试题解析

    题目及解析如下: 题目大致介绍: 第一题到第三题以及第六题.第七题是结果填空,方法不限只要得到最后结果就行 第四题和第五题是代码填空题,主要考察算法基本功和编程基本功 第八题到第十题是编程题,要求编程 ...

  4. 第七届蓝桥杯 java组有奖竞猜

    第七届蓝桥杯 有奖猜谜 有奖猜谜 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的猜谜活动. 每位选手开始的时候都被发给777个电子币. 规则是:猜对了,手里的电子币数目翻倍, 猜错了,扣除555个电 ...

  5. 2016年第七届蓝桥杯javaB组 试题 答案 解析

    1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...

  6. 【蓝桥系列】——十三届蓝桥杯PythonB组第五题E题蜂巢(AC代码)

    大家好,我是普通小明,初入学习博客,一起加油! 首先,感谢 小蓝刷题 对我的鼓励,我也希望加入学习算法这个大家庭. 第一篇文章,有些不完美,还请多多指教. 目录 (好像我并不会用锚点T-T) 省赛心得 ...

  7. 第七届蓝桥杯JavaA组国(决)赛部分真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.阶乘位数 阶乘位数 9的阶乘等于:362880 它的二进制表示为:1011000100110000000 这个数字共有19位. 请你计 ...

  8. java算法 第七届 蓝桥杯B组(题+答案) 3.凑算式

    3.凑算式  (结果填空) B      DEF A + --- + ------- = 10      C      GHI           (如果显示有问题,可以参见[图1.jpg])   这 ...

  9. java算法 第七届 蓝桥杯B组(题+答案) 5.抽签

    5.抽签  (代码填空) X星球要派出一个5人组成的观察团前往W星. 其中: A国最多可以派出4人. B国最多可以派出2人. C国最多可以派出2人. .... 那么最终派往W星的观察团会有多少种国别的 ...

最新文章

  1. python函数定义中参数列表里的参数是_详解Python函数中参数带星号是什么意思
  2. 工业富联2018年报来了!上市后首张成绩单大起底
  3. 芯盾时代:致力于身份认证安全的领军者
  4. Android列表视图(List View)
  5. JavaScript模块化不算漫长的发展史
  6. 同一个网络中为什么有些计算机可以连接共享打印机,有些需要输入密码,安装局域网共享打印机时,要求输入用户和密码,但对方并没有设置,为什么?谢谢!!...
  7. 课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础
  8. python 读取一个文件夹下所有图像
  9. python 读取远程服务器文件
  10. Windows11以管理员身份运行命令窗口
  11. Java、JSP网上购书系统
  12. list.stream().map().collect(Collectors.toList())
  13. 《赖氏经典英语语法》第六集
  14. 巴斯大学计算机世界专业排名,2019上海软科世界一流学科排名计算机科学与工程专业排名巴斯大学排名第301-400...
  15. Apache 服务器特点
  16. 410款INTEL CPU详细技术资料速查表
  17. Socket 对外接口 (一)
  18. QCharts QValueAxis使用
  19. 微信小程序textarea换行输入的文本,在view中如何换行渲染
  20. 消逝光芒 拳王 无影脚 修改

热门文章

  1. 旅行商问题的蚁群算法
  2. change丶未来科技公众号成立了!!!!!!!!!
  3. 视频号灰度测试购物车功能,微信要扛起腾讯电商大旗了?
  4. 跳板攻击中如何追踪定位攻击者主机(上)
  5. 机房远程集中监控系统
  6. 马云率队夜访茅台:打造中国大数据合作的经典样板
  7. ffmpeg如何进行高清图片转码
  8. BarManage --- 菜单
  9. Joshua Bloch离开Google了,Dart前景堪忧
  10. 项目经验分享:基于昇思MindSpore实现手写汉字识别