问题 G: n=a*a+2*a*b+b*b
内存限制:128 MB时间限制:1.000 S
评测方式:文本比较命题人:16699231585
提交:30解决:18
题目描述
给你一个正整数N,请找出满足如下条件的两个正整数(a,b)的所有表达式:
a<= b
n=a*a+2*a*b+b*b
输入
一行一个整数 n。
输出
若干行每行一个表达式
样例输入 复制
16
样例输出 复制
16=1*1+2*1*3+3*3
16=2*2+2*2*2+2*2
提示
【数据范围】
1<=n<=1000
【思路】
乍一眼看,这个式子十分复杂
但这个式子可以化简
理由如下
所以
就可以得出代码
#include <bits/stdc++.h>
using namespace std;
int n;
int main()
{
cin>>n;
int a=sqrt(n);
for(int i=1;i<=a/2;i++)
{
cout<<n<<"="<<i<<"*"<<i<<"+2*"<<i<<"*"<<a-i<<"+"<<a-i<<"*"<<a-i<<endl;
}
return 0;
}