编程思路:
//做到心中有数,代码看似无数,实则心中有数
假设这个整数为X,则有 X+100=n*n,X+100+168=m*m;可以得出n与m的关系是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);
}
}
}
}
标签:平方,题目,int,代码,C语言,168,100,心中有数,思路
From: https://blog.csdn.net/2201_75840339/article/details/143787774