欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python與C語言分別解決完全平方數(shù)問題

 更新時(shí)間:2022年03月08日 14:59:57   作者:是夢(mèng)吧,是你吧!  
完全平方數(shù)指用一個(gè)整數(shù)乘以自己例如1*1.2*2.3*3等依次類推,若一個(gè)數(shù)能表示成某個(gè)整數(shù)的平方的形式,則稱這個(gè)數(shù)為完全平方數(shù)。完全平方數(shù)是非負(fù)數(shù),而一個(gè)完全平方數(shù)的項(xiàng)有倆個(gè),讓我們用程序來練習(xí)一下

1 案例

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

2 分析

由題意我們可以設(shè)該數(shù)為x ,加100后得到的完全平方數(shù)為y^{2}再加168后得到的完全平方數(shù)為z^{2}

則:

得:

可以利用的條件: 

3 Python實(shí)現(xiàn)

(1)方法一:

假設(shè)這個(gè)數(shù)字是:x
條件一:x+100是一個(gè)完全平方數(shù)
條件二:x+100+168也是一個(gè)完全平方數(shù)

import math
for i in range(-100,2000):
    if (int(math.sqrt(i+100)))**2 == i+100:
        if int(math.sqrt(i+268))**2 == i+268:
            print(i,end=' ')

#================結(jié)果================

-99 21 261 1581
Process finished with exit code 0

(2)方法二 

其實(shí)可以采用逆向思維:我們可以分別假設(shè):

(1)x+100開平方后的數(shù)字是:a

(2)x+100+168開平方后后的數(shù)字是:b
那么的話就存在如此關(guān)系:

1):b^{2}-a^{2}=168

2):a^{2}-100=x

for i in range(0,100):
    for j in range(0,100):
        if i**2 - j**2 == 168:
            print("數(shù)字是:{} ;i = {} ;j = {}".format(j**2 - 100,i,j))

#====================結(jié)果========================

數(shù)字是:-99 ;i = 13 ;j = 1
數(shù)字是:21 ;i = 17 ;j = 11
數(shù)字是:261 ;i = 23 ;j = 19
數(shù)字是:1581 ;i = 43 ;j = 41

Process finished with exit code 0

4 C語言實(shí)現(xiàn)

#include "stdio.h"
#include "math.h"
 
int main(void)
{
	int x = -100;
	double y = 0, z = 0;
	do {
		y = sqrt(x + 100);
		z = sqrt(x + 100 + 168);
		if (y == (int)y && z == (int)z)
			printf("%d\n", x);
		x++;
	} while ((z + y) > 0 && (z + y) <= 168);
 
 
	return 0;
}

到此這篇關(guān)于Python與C語言分別解決完全平方數(shù)問題的文章就介紹到這了,更多相關(guān)Python 完全平方數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論