中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

C 練習(xí)實(shí)例3

C 語(yǔ)言經(jīng)典100例 C 語(yǔ)言經(jīng)典100例

題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請(qǐng)問(wèn)該數(shù)是多少?

程序分析:

假設(shè)該數(shù)為 x。

1、則:x + 100 = n2, x + 100 + 168 = m2

2、計(jì)算等式:m2 - n2 = (m + n)(m - n) = 168

3、設(shè)置: m + n = i,m - n = j,i * j =168,i 和 j 至少一個(gè)是偶數(shù)

4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶數(shù),要么都是奇數(shù)。

5、從 3 和 4 推導(dǎo)可知道,i 與 j 均是大于等于 2 的偶數(shù)。

6、由于 i * j = 168, j>=2,則 1 < i < 168 / 2 + 1。

7、接下來(lái)將 i 的所有數(shù)字循環(huán)計(jì)算即可。

具體實(shí)現(xiàn)如下:

實(shí)例

#include <stdio.h> int main (void) { int i, j, m, n, x; for (i = 1; i < 168 / 2 + 1; i++) { if (168 % i == 0) { j = 168 / i; 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 * %dn", x, n, n); printf ("%d + 268 = %d * %dn", x, m, m); } } } return 0; }

以上實(shí)例輸出結(jié)果為:

-99 + 100 = 1 * 1
-99 + 268 = 13 * 13
21 + 100 = 11 * 11
21 + 268 = 17 * 17
261 + 100 = 19 * 19
261 + 268 = 23 * 23
1581 + 100 = 41 * 41
1581 + 268 = 43 * 43

C 語(yǔ)言經(jīng)典100例 C 語(yǔ)言經(jīng)典100例

其他擴(kuò)展