C编程练习011

题目

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

代码

方法一:

#include <stdio.h>
#include <math.h>

int main(void)
{
    int n;
    double x = 0, y = 0;

    for (n = -100; n <= 100000; n++)
    {
        x = sqrt(n + 100);
        y = sqrt(n + 100 + 168);

        if (( x == (int)x) && (y == (int)y))
        {
            printf("This integer is:%d\n", n); 
        } 
    }

    return 0;
}

方法二:

#include <stdio.h>
#include <math.h>

int main(void)
{
    int n;
    int x = 0, y = 0;

    for(n = -100; n <= 100000; n++)
    {
        x = sqrt(n + 100);
        y = sqrt(n + 100 + 168);

        if ((x*x == n + 100) && (y*y == n + 100 + 168))
        {
            printf("This integer is:%d\n", n); 
        } 
    }

    return 0;
}

分析

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

运行结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券