[C] c语言 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? →→→→→进入此内容的聊天室

来自 Violet Plover, 2024-03-15, 写在 C, 查看 17 次.
URL http://www.code666.cn/view/e794db72
  1. 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
  2.  
  3. 程序分析:
  4.  
  5. 假设该数为 x。
  6.  
  7. 1、则:x + 100 = n2, x + 100 + 168 = m2
  8.  
  9. 2、计算等式:m2 - n2 = (m + n)(m - n) = 168
  10.  
  11. 3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数
  12.  
  13. 4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
  14.  
  15. 5、从 34 推导可知道,i 与 j 均是大于等于 2 的偶数。
  16.  
  17. 6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1
  18.  
  19. 7、接下来将 i 的所有数字循环计算即可。
  20.  
  21.  
  22.  
  23.  
  24. #include <stdio.h>
  25.  
  26. int main (void)
  27. {
  28.     int  i, j, m, n, x;
  29.     for (i = 1; i < 168 / 2 + 1; i++)
  30.     {
  31.         if (168 % i == 0)
  32.         {
  33.             j = 168 / i;
  34.             if ( i > j && (i + j) % 2 == 0 && (i - j) % 2 == 0)
  35.             {
  36.                 m = (i + j) / 2;
  37.                 n = (i - j) / 2;
  38.                 x = n * n - 100;
  39.                 printf ("%d + 100 = %d * %d\n", x, n, n);
  40.                 printf ("%d + 268 = %d * %d\n", x, m, m);
  41.             }
  42.         }
  43.     }
  44.     return 0;
  45. }
  46.  

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

这儿你可以回复上面这条便签

captcha