黑马程序员技术交流社区

标题: 问一个基础编程题,我不会。。。 [打印本页]

作者: OhYoung_Fun    时间: 2015-9-23 21:31
标题: 问一个基础编程题,我不会。。。
问一个基础编程题,我不会。。。
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
作者: ff774411    时间: 2015-9-23 22:19
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
11*11=121  也就是  21+100
17*17=289  也就是 21+268
所以这个数应该是21.
作者: 钟先明    时间: 2015-9-23 22:25
用循环吧,循环1到99,添加两个判断同时符合,就输出,这样大概可以实现,你可以去试试看

作者: jx836202365    时间: 2015-9-23 22:59
遍历.从1开始遍历到1000,如果这个数这样,那么就输出这个数
作者: chunhuayun    时间: 2015-9-24 08:18
解题思路和代码如下
  1. /*假设 该数为a
  2.      b = a + 100
  3.      c = a + 168
  4.      因此 c = b + 68
  5.      思路:从11开始(因为b,c显然大于10的平方)求完全平方数,先找到b,再加上68,得到c,直到c也是完全平方数为止
  6.      */
  7.      int a, b, c;
  8.     int flag = 1;
  9.    
  10.     for (int i =11; ; i++) {
  11.         b = i * i;
  12.         c = b + 68;
  13.         for (int j =  i + 1; j * j <= c ; j++) {
  14.             if (j * j == c) {
  15.                 a = c - 168;
  16.                 flag = 0;
  17.                 break;
  18.             }
  19.         }
  20.         if (!flag) {
  21.             break;
  22.         }
  23.     }
  24.     printf("a = %d\n", a);
复制代码

打印结果: a = 156
作者: liminghui    时间: 2015-9-24 09:37
学习学习  自己敲敲看。
作者: 尾尾    时间: 2015-9-24 23:05
路过,给楼上的楼上点赞
作者: Jusive    时间: 2015-9-25 06:11
不用太多纠结这类题目,这只是算法问题,并不适合咱们深究
作者: 摆摆    时间: 2015-9-25 08:31
恩恩= =不用钻牛角尖




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2