c语言有一个正整数加上100,c语言编程实现:一个整数,它加上100后是完全平方数,再加168又是完全平方数,求该数。...
滿意答案
問題:一整數(shù),它加100后是完全平方數(shù),再加168還是完全平方數(shù),求該整數(shù)
解題思路:設(shè)該數(shù)為x,它加100后是A,再加168為B。
則因為A是完全平方數(shù),
所以A為正數(shù),且A=y*y,y為正整數(shù)或0。
同理,B為正數(shù),B=z*z,z為正整數(shù)。
因為B=A+168>A,所以,我們可設(shè)z=y+n,n為正整數(shù),n>0。
由B=A+168,有:(y+n)(y+n)=y*y+168,即:y=84/n-n/2。
又y為正整數(shù),所以84/n-n/2≥0,則得出n≤13
所以,編程時可用的條件有:
0
y=84/n-n/2
x=y*y-100,當(dāng)y為整數(shù)時,就是符合題目的y。
*/
#include
int main()
{
int n,x;
float y;
for(n=1;n<=13;n++)
{
y=84.0/n-n/2.0;
//這里用84.0和2.0,是因為整數(shù)用“/”時,結(jié)果會取整,用這種浮點型數(shù)才不會直接取整數(shù)。
if(int(y) == y)//當(dāng)y是一個整數(shù)時,求出對應(yīng)x,并輸出。
{
x=int(y*y-100);
printf("%d\n",x);
}
}
return 0;
}
//此程序還可擴(kuò)展為更一般化的算法
00分享舉報
總結(jié)
以上是生活随笔為你收集整理的c语言有一个正整数加上100,c语言编程实现:一个整数,它加上100后是完全平方数,再加168又是完全平方数,求该数。...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux gcc 7.3.0安装,升级
- 下一篇: C语言计算分段函数pta,PTA浙大版《