一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

本文探讨了一段C++代码,该代码涉及寻找满足特定整数条件的x值,即平方根y和z都是整数。通过(z+y)*(z-y)=168的等式揭示了do-while循环的条件。作者强调理解y和z的整数特性对于解决问题至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于下面原作者的文章提出一下自己拙见,原作者分析地很详细,给了我很大地启发。真心感谢!

有关x的初始设定可以看文章最后的链接,我想说的是要注意y和z的整数特性。事实上由

(z+y)(z-y)=168就可以得到改代码中do-while循环的判断条件。好了,这就是我的分享,感谢阅读。

int main()
{
	double z = 0;
	double y = 0;
	int x = -100;

	do {
		y = sqrt(x + 100);
		z = sqrt(x + 100 + 168);
		if (y == (int)y && z == (int)z)
			printf("%d\n", x);
		x++;
	} while ((168 > (z + y) && (z + y) > -168) && ((z - y) > -168 && (z - y) < 168));

}

https://blog.youkuaiyun.com/baishuiniyaonulia/article/details/77922601

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值