题目2270:蓝桥杯2016年第七届真题-四平方和

#include<iostream>

#include<cstring>

#include<vector>

using namespace std;

const int N=5000010;

int c[N],d[N];

int n;

vector<int>v(1);

void init(){

memset(c,-1,sizeof(c));

for(int i=1;i*i<2*n;i++){

v.push_back(i*i);

}

for(int i=0;v[i]<=n;i++){

for(int j=i;v[i]+v[j]<=n;j++){

int sum=v[i]+v[j];

if(c[sum]==-1){//第一次遇见的数

c[sum]=i;

d[sum]=j;

}

}

}

}

int main(){

cin>>n;

init();

int res;

for(int i=0;v[i]<=n;i++){

for(int j=i;v[j]+v[i]<=n;j++){

res=n-v[i]-v[j];

if(c[res]!=-1){//表示该数已经被记录过,可以拆成两个数平方的形式

cout<<i<<" "<<j<<" ";

cout<<c[res]<<" "<<d[res];

return 0;

}

}

}

}

相关推荐
AI成长日志4 分钟前
【GitHub开源项目专栏】黑客松项目架构模式解析:微服务、事件驱动与Serverless实战
算法
人道领域4 分钟前
【LeetCode刷题日记:24】两两交换链表
算法·leetcode·链表
Miki Makimura4 分钟前
C++聊天室项目:注册登录接口与 Redis 缓存
c++·redis·缓存
北顾笙9807 分钟前
day16-数据结构力扣
数据结构·算法·leetcode
追光的蜗牛丿12 分钟前
C++中引用与指针的选择
开发语言·c++
念越18 分钟前
蓝桥杯单元测试模拟1期模拟题答案及代码解析
蓝桥杯·单元测试·测试
AI成长日志19 分钟前
【算法学习专栏】动态规划基础·简单三题精讲(70.爬楼梯、118.杨辉三角、121.买卖股票的最佳时机)
学习·算法·动态规划
wsoz21 分钟前
Leetcode子串-day4
c++·算法·leetcode
汀、人工智能40 分钟前
[特殊字符] 第27课:环形链表II
数据结构·算法·链表·数据库架构··环形链表ii