小蓝家的门牌号

作品类型:C++
作者:Dear
创建时间:2022/11/11 11:09:22
QQ:285023526
添加微信请备注“学习少儿编程”

作品说明

小蓝家的门牌号


小蓝家住在一条短胡同里, 这条胡同的门牌号从 1 开始顺序编号。
若其余各家的门牌号之和减去我家门牌号的两倍, 恰好等于 n, 求小蓝家的门牌号
及总共有多少家。 数据保证有唯一解。
输入:一个正整数 n。 n<100000。
输出:一行, 包含两个正整数, 分别是我家的门牌号及总共有多少家, 中间用单个
空格隔开。
输入样例:100
输出样例:12 16
解题思路: 设最后门牌号为 k, 则总和为: k*(k 1)/2
设小蓝家的门牌号为 x, 则由题意: k*(k 1)/2=3*x n
即: k*(k 1)=6*x 2*n
又: k*(k 1) k 1>6*x 2*n
得: (k 1)*(k 1)>6*x 2*n
开方: k 1>sqrt(6*x 2*n)
两边减一: k>sqrt(6*x 2*n)-1
x 取最小值 1: home=sqrt(6 2*n)-1

QQ:285023526 添加微信请备注“学习少儿编程”
赣ICP备20007335号-2