C语言题目:求平方数(附代码和思路)

编程思路:

//做到心中有数,代码看似无数,实则心中有数

假设这个整数为X,则有 X+100=n*n,X+100+168=m*m;可以得出nm的关系是m*m-n*n=168;

即(m+n)(m-n)=168;所以有 设m+n = i,m-n=j;则 i*j = 168;

我们可以使用for循环来遍历筛选i和j的值,条件的控制需要注意 168%i==0才能赋值给j。以下是本人的代码详细:

#include <stdio.h>
int main()
{
    int n, m, x; // x+100=n*n; x+268=m*m
    for (int i = 2; i < 168/2; i++)
    {
        if (168 % i == 0) // i = m-n;
        {                 // j = m+n;
            int j = 168 / i;
            m = (i+j)/2;
            n = (j-i)/2;
            if(m*m -n*n == 168)
            {
                x = n*n-100;
                printf("该数为%d\n",x);
            } 
        }
    }
     
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值