【问题描述】
我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。
若其余各家的门牌号之和减去我家门牌号的三倍,恰好等于n,求我家的门牌号及总共有多少家。数据保证有唯一解。
【输入格式】
一个正整数n。n<100000。
【输出格式】:
一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
【输入样例】
100
【输出样例】
10 15
【参考程序】
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int n, sum = 0;
cin >> n;
for (int i=1; i<=1000; i++) { // 枚举总共的家数 (1+2+...+100=500500>100000)
sum += i;
for (int j=1; j<=i; j++) { // 枚举我家的门牌号
if (sum-3*j == n) { // 注意这里是“3倍”,是ybt网站代码提交要求的。题目描述是2倍
cout << j << " " << i << endl;
}
}
}
return 0;
}