查看原文
其他

C语言每日一练(011)

题目

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

代码

方法一:

  1. #include <stdio.h>

  2. #include <math.h>


  3. int main(void)

  4. {

  5. int n;

  6. double x = 0, y = 0;


  7. for (n = -100; n <= 100000; n++ )

  8. {

  9. x = sqrt(n + 100);

  10. y = sqrt(n + 100 + 168);


  11. if (( x == (int)x) && (y == (int)y))

  12. {

  13. printf("This integer is:%d\n", n);

  14. }

  15. }


  16. return 0;

  17. }

方法二:

  1. #include <stdio.h>

  2. #include <math.h>


  3. int main(void)

  4. {

  5. int n;

  6. int x = 0, y = 0;


  7. for(n = -100; n <= 100000; n++)

  8. {

  9. x = sqrt(n + 100);

  10. y = sqrt(n + 100 + 168);


  11. if ((x*x == n + 100) && (y*y == n + 100 + 168))

  12. {

  13. printf("This integer is:%d\n", n);

  14. }

  15. }


  16. return 0;

  17. }

分析

方法一和方法二都差不多,都是根据判断sqrt(n+100)与sqrt(n+100+168)的值是否为整数来找出符合条件的n的值。

运行结果

转发、点在看就是对小编最大的支持!



猜你喜欢

C语言每日一练(006)

C语言每日一练(007)

C语言每日一练(008)

C语言每日一练(009)

C语言每日一练(010)



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存