这一步怎么推导出来,一个带分数是整数加最简上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少

#include "stdio.h"
/*
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
程序分析:
假设该数为 x。
1、则:x + 100 = n2, x + 100 + 168 = m2
2、计算等式:m2 - n2 = (m + n)(m - n) = 168
3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数
4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
5、从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。
6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。
7、接下来将 i 的所有数字循环计算即可。
*/
void main(void)
{
//
完全平方指用一个整数乘以自己例如1*1,2*2,3*3等
//
int x,n,m,i,j;
//
m+n=i
m-n=j
i*j=168
// 2m=i+j
2n=i-j
// m=i/2+j/2
j与i 都为大于2的偶数
for(i=1;i<168/2+1;i++)
{
if(168%i==0)
{
j=168/i;
// n=(i-j)/2
if ( i > j && (i + j) % 2 == 0 && (i - j) % 2 == 0)
{
m = (i + j) / 2;
n = (i - j) / 2;
x = n * n - 100;
printf ("%d + 100 = %d * %d\n", x, n, n);
printf ("%d + 268 = %d * %d\n", x, m, m);
}
}
}
}打印结果
-99 + 100 = 1 * 1-99 + 268 = 13 * 1321 + 100 = 11 * 1121 + 268 = 17 * 17261 + 100 = 19 * 19261 + 268 = 23 * 231581 + 100 = 41 * 411581 + 268 = 43 * 43
请按任意键继续. . .
分类专栏
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
}

要有过程,拜托各位了。...
要有过程,拜托各位了。
展开
设这个数字为a那么a+100=b^2a+168=c^2两式子一减即得:68=(c+b)(c-b)被68能完全整除的有:68=1×68=2×34=4×17所以可以得到:c+b=68
c-b=1
得出c=34.5
b=0.5
不满足正整数要求c+b=34
c-b=2
得出c=18
b=16
满足题意c+b=17
c-b=4
得出c=10.5
b=6.5
不满足题意所以得到:c=18
b=16将c=18带入a+168=c^2,解得:a=156
本回答由提问者推荐已赞过已踩过你对这个回答的评价是?评论
收起推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询下载百度知道APP,抢鲜体验使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。扫描二维码下载}

我要回帖

更多关于 带分数是整数加最简 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信