您现在的位置是:主页 > news > 临时网站怎么做/网络平台怎么推广

临时网站怎么做/网络平台怎么推广

admin2025/4/20 12:10:01news

简介临时网站怎么做,网络平台怎么推广,手机域名网站怎么做,做手机网站多少钱四平方和题目链接 目录问题描述题目解析C代码问题描述 【题目描述】 【输入】 【输出】 【样例输入】 5 12 773535【样例输出】 0 0 1 2 0 2 2 2 1 1 267 838题目解析 枚举a,b,c,da,b,c,da,b,c,d四个数字,同时也要注意优化,这里采用的是四层循环减…

临时网站怎么做,网络平台怎么推广,手机域名网站怎么做,做手机网站多少钱四平方和题目链接 目录问题描述题目解析C代码问题描述 【题目描述】 【输入】 【输出】 【样例输入】 5 12 773535【样例输出】 0 0 1 2 0 2 2 2 1 1 267 838题目解析 枚举a,b,c,da,b,c,da,b,c,d四个数字,同时也要注意优化,这里采用的是四层循环减…

四平方和题目链接

目录

  • 问题描述
  • 题目解析
  • C++代码

问题描述

【题目描述】在这里插入图片描述
【输入】
在这里插入图片描述
【输出】
在这里插入图片描述
【样例输入】

5
12
773535

【样例输出】

0 0 1 2
0 2 2 2
1 1 267 838

题目解析

枚举a,b,c,da,b,c,da,b,c,d四个数字,同时也要注意优化,这里采用的是四层循环减为双层循环,先枚举c,dc,dc,d两个较大的变量,在cache[c∗c+d∗d]cache[c*c+d*d]cache[cc+dd]中存入较小数ccc,当再枚举a,ba,ba,b两个较小的变量时,只需要查找cache[N−a∗a−b∗b]cache[N-a*a-b*b]cache[Naabb]是否存在即可,如果存在说明已经找到了a∗a+b∗b+c∗c+d∗d=Na*a+b*b+c*c+d*d=Naa+bb+cc+dd=N等式的解。

C++代码

#include<bits/stdc++.h>
using namespace std;
int N;
map<int,int> cache;
int main()
{scanf("%d",&N);for(int c=0;c*c<=N/2;c++)for(int d=c;c*c+d*d<=N;d++)if(cache.find(c*c+d*d)==cache.end())cache[c*c+d*d] = c;for(int a=0;a*a<=N/4;a++){for(int b=a;a*a+b*b<=N/2;b++){if(cache.find(N-a*a-b*b)!=cache.end()){int c = cache[N-a*a-b*b];int d = int(sqrt(N-a*a-b*b-c*c));printf("%d %d %d %d\n",a,b,c,d);return 0;}}}return 0;
}