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