试题18 四平方和(枚举法)
题目:
四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。
比如:
5=0^2+ 0 ^2 +1^ 2+2^2
7=1^2+ 1 ^2 +1^ 2+2^2
则对于一个给定的正整数n,可以表示为:
n=a^2+ b ^2 +c^ 2+d^2
你需要求出字典序最小的一组解a,b,c,d。
字典序大小:从左到右依次比较,如果相同则比较下一项,直到有一项不同,较小的一方字典序更小,反之字典序更大,所有项均相同则二者字典序相同。
输入格式
输入一个正整数N(1<=N<=5000000)
输出格式
输出4个非负整数a,b,c,d。中间用空格隔开。
样例输入1
5
样例输出1
0 0 1 2
样例输入2
12
样例输出2
0 2 2 2
- 分析思路
枚举法:需要注意a,b,c,d的值依次递增满足字典序要求
- 代码:
#include <iostream>
#include<cstdio>
#include<cmath>
#include <algorithm>
using namespace std;int main(){int N,d;scanf("%d",&N);for(int a=0;a*a<=N;a++){for(int b=a;a*a+b*b<=N;b++){for(int c=b;a*a+b*b+c*c<=N;c++){d=sqrt(N-a*a-b*b-c*c);if(a*a+b*b+c*c+d*d==N){printf("%d %d %d %d\n",a,b,c,d);return 0;}}}}return 0;
}
试题18 四平方和(枚举法)相关推荐
- [蓝桥杯2016初赛]四平方和-数论+枚举
题目描述 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2^ ...
- 【算法设计zxd】第四章蛮力法 1.枚举法 02穷举查找
目录 蛮力法(brute force): [例4-1]链环数字对 问题分析 计算模型 pair_digital(int n): 代码: [例4-2]解数字迷: 思考题:ACM预测: 问题分析 ...
- 什么叫枚举法_四年级:美妙数学之“巧用枚举法”1(0202四)
美妙数学天天见 每天进步多一点 亲爱的小朋友,你好!我是朱乐平数学名师工作站的赵桂华老师,来自重庆市沙坪坝区西永第一小学. 准备好了吗?我们开始吧! 聪明的小朋友,你愿意和天天一起动脑思考吗? 天天, ...
- 拉格朗日四平方和定理c语言,费马平方和定理 拉格朗日四平方和定理
费马平方和定理 费马平方和定理:奇质数能表示为两个平方数之和的充分必要条件是该质数被4除余1.第一步 "如果两个整数都能表示为两个平方数之和,则它们的积也能表示为两个平方数之和." ...
- 蓝桥杯四平方和Java_蓝桥杯 四平方和
题目:四平方和 看到这个题目,第一个思路就是: 枚举abcd的值,然后判断它们的平方和是不是等于N. 我们可以分析一下abcd的枚举范围: a : 0 ~ sqrt( 5000000 / 4 ) b ...
- 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - H. 四平方和
题目 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 02 + 02 + 12 + 2 ...
- 暴力优化解法+哈希解法——2016年第七届蓝桥杯省赛b组第八题 四平方和
Problem describe 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0 ...
- c语言穷举算法 枚举法,c语言枚举法 穷举法 ppt课件
枚举法 穷举法 笨人之法 把所有可能的情况一一测试 筛选出符合条件的各种结果进行输出 分析 这是个不定方程 三元一次方程组问题 三个变量 两个方程 x y z 1005x 3y z 3 100设公鸡为 ...
- 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和
注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...
最新文章
- 2017 年总结及 2018 年计划
- PHP的CURL报错的排查记录:短连接的成本真的很高啊
- 论文笔记:PointSIFT
- MyBatis版本升级引发的线上告警回顾及原理分析
- Beautifulsoup的使用
- Oracle 同义词、DBLINK、表空间的使用
- 【389天】跃迁之路——程序员高效学习方法论探索系列(实验阶段146-2018.03.01)...
- Mac系统如何安装php,MAC系统如何快速安装php
- Python3 高级编程
- 绿联串口线linux驱动下载,绿联USB转DB9串口线驱动 V1.6.1 Mac版
- pyspider爬取tripadvisor
- foxmail创建html模板,化繁为简--轻轻松松用模板之FOXMAIL篇
- 【翻译】驯服野兽:Scylla 如何利用控制理论来控制压实
- SSM和SSH框架对比
- 【蓝桥杯选拔赛真题15】Scratch碰苹果游戏 少儿编程scratch蓝桥杯选拔赛真题讲解
- poi-tl填充动态word表格数据
- TCP协议:报文字段解析
- cron表达式详解!!!!
- 细谈Type-C、PD原理(上/下)
- book mac pro怎么重装系统_macbook pro怎么重装mac系统?
热门文章
- 一张图学会python3语法-一张图片在Python操作下的4种玩法(附源码)
- python骗局-如何识破python小课骗局_怎样选择学校呢
- 语音识别系统_智能语音识别系统_第三方语音识别系统 - 云+社区 - 腾讯云
- 阿里开源自研语音识别模型DFSMN 准确率高达96.04%
- makefile obj文件路径_makefile中包含的文件的路径
- 工艺仿真软件_中科院科研项目:算法与软件工程集成电路制造中的工艺仿真
- 微信计步器怎么不计步_送我一顶圣诞帽@星尘StarDust,制作一个圣诞创意微信头像...
- Error: ER_ACCESS_DENIED_ERROR: Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决办法
- element ui 表格滚动条抖动的问题
- Redis--五种基础数据结构及应用场景