题目背景
2025 年海淀区中小学生信息学竞赛小学组复赛题目,数据为洛谷自造。
题目描述
给定一个正整数 n,请找出一组互不相等的正整数 x,y,z,使得 x1+y1+z1=n2 成立。
输入格式
仅有一个正整数 n。
输出格式
如果能够找到一组符合题目要求的三个数,则输出一行,包含三个整数 x,y,z,两两之间用空格分隔,否则输出 −1。本题可能有多组解,输出任意一组均被视作正确(请注意:洛谷的在线 IDE 模式无法判断多组可能解,可能会误判答案错误)。
输入输出样例
in:
3
out:
2 7 42
in:
7
out:
7 8 56
说明/提示
- 对于 30% 的数据,保证存在一组解使得 1≤x,y,z≤100,1≤n≤106。
- 对于 60% 的数据,保证存在一组解使得 1≤x,y,z≤1000,1≤n≤106。
- 对于 100% 的数据,保证存在一组解使得 1≤x,y,z≤109,1≤n≤106。
为确保评测结果正确,输出的 x,y,z 必须是不超过 1018 的正整数。
。。。
AUV这就是京爷与咱的差距吗
脑子都炸了
纯数学题了
首先特判 不可能=2
然后找规律
因为只要对就行
所以样例一丢掉
看样例二
一想7*8=56
豁然开朗!!!
#include<bits/stdc++.h>
using namespace std;
int n,x,y,z;
int main(){
cin>>n;
if(n==1)cout<<"-1";
else cout<<n<<" "<<n+1<<" "<<n*n+n;
return 0;
}
完结撒花!!!