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的值。

运行结果

V4ySBR.png


VcSFJJ.md.png


 上一篇
C编程练习012 C编程练习012
题目 小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为25优雅的点就有:(+/-3, +/-4), (
2018-06-19
下一篇 
C编程练习010 C编程练习010
1、题目 统计文件的字符数 2、代码/****************************************************************************************************
2018-06-12
  目录