四平方和

四平方和定理,又称为拉格朗日定理:
每个正整数都可以表示为至多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. Linux内核网络栈1.2.13-route.c概述
  2. 【错误记录】Android Studio 4.2.1 编译报错 ( Kotlin 版本推荐设置 1.5.0 )
  3. MTK的LK代码异常向量表解析
  4. linux7添加两个网关,RHEL7设置IP地址、网关和DNS(示例代码)
  5. 关于yield的一些资料
  6. [转载] C#面向对象设计模式纵横谈——7. Adapter适配器模式
  7. 55种数据可视化开源工具_通过开源工具增强学生能力的15种方法
  8. 用python turtle画龙猫_【跟着弹簧学画画】教你一步步画出一只超萌的龙猫来!...
  9. 2021年青海高考一分一段成绩查询,最新2021年青海高考一分一段公布
  10. 宇宙无敌大招呼 (5 分)
  11. 作为一位爬虫,说说代理IP哪家强?
  12. NBT:扩增子及其他测序的最少信息标准和测序规范(MIMARKS)
  13. Mac连局域网打印机
  14. LSF集群基本概念介绍
  15. 一块硬盘装了黑苹果 一块硬盘装了win7_自己组装一台“iMac”是什么体验(下):AMD 平台也能吃上黑苹果...
  16. Yii2中如何使用CodeCeption
  17. 位运算相关题目-一些小trick 1bit代表独立数字 求只出现一次的数字 无进位n进制数 n(-n) Boyer-Moore 投票算法 n(n-1)
  18. html瞄点四大名著有图片,四大名著手抄报图片图和文字资料
  19. 傅连仲主编的《计算机应用基础》,学生教学论文,关于计算机应用基础课程标准研读的必要性相关参考文献资料-免费论文范文...
  20. NAACL 2022 | 机器翻译SOTA模型的蒸馏

热门文章

  1. TEE系列之GP规范TEE API浅析
  2. 从Uniswap Discord社区看DeFi链下治理的三大难题 |链捕手
  3. 2012 lt;c语言综合实验gt;答案,厦门理工学院c语言实验4循环答案.doc
  4. 计算机网络部分复习题
  5. 法国艺术家福州拜师学漆艺:开启“漆彩人生”
  6. Python 爬虫下一代网络请求库 httpx 和 parsel 解析库测评
  7. Pycharm下运行调试Python项目时,当调试既需要给调试的程序传入命令行参数又需要程序在设置的断点处停下里查看变量时的解决方法
  8. 自学和参加web前端培训班需要什么基础
  9. 大学物理上——复习系统c++代码
  10. 大治一中2021年高考成绩查询,2021年大冶市高考状元名单资料,今年大冶市高考状元多少分...