题目传送门:https://1.15.241.35:11451/problem_show.php?pid=1404
【题目描述】
我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。
若其余各家的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。数据保证有唯一解。
【输入】
一个正整数n。n<100000。
【输出】
一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
【输入样例】
100
【输出样例】
12 16
【分析】
题目中虽然说2倍,但一定要写3倍,我也是从1挨个试的
【AC代码】
#include <bits/stdc++.h>
using namespace std;
int n,sum=0;
int main(int argc, char** argv) {
cin>>n;
for(int i=1;i<=10000;i++){
//计算门牌号的总和
sum+=i;
for(int j=1;j<=i;j++){
//列等量关系式
if(sum-3*j==n){
cout<<j<<" "<<i<<endl;
}
}
}
return 0;
}