这里的问题是猜出电脑里存储的数字是什么。你将要编写一个能够随机生成一个0到100之间且包括0和100的数字的程序。这个程序提示用户连续地输入数字直到它与那个随机生成的数字相同。对于每个用户输人的数字,程序会提示它是否过高还是过低,所以,用户可以更明智地选择下一个输入的数字。下面是一个简单的运行:
import random
com = random.randint(0,100)
print("Guess a magic number between 0 and 100")
a = int(input("Enter your guess:"))
while a > com:
print("Your guess is too high")
a = int(input("Enter your guess:"))
while a < com:
print("Your guess is too low")
a = int(input("Enter your guess:"))
if a == com:
print("Yes,the number is %s"%com)
两个整数4和2的最大公约数(GCD)是2。整数16和24的最大公约数是8。怎样找出最大公约数呢?假设输入的两个整数是nl和n2。你知道数字1是它们的公约数,但它并不是最大公约数。所以,你要检测k(k=2、3、4、…)是否为nl和n2的公约数,直到k大于n1或n2。把公约数存储在一个名为ged 的变量中。初始状态时,gcd的值为1。每找到一个新的公约数就把它赋给gcd。当你检测完从2到n1或从2到n2的所有可能公约数后.存储在gcd中的值就是最大公约数
n1 = int(input("输入一个整数:"))
n2 = int(input("输入一个整数:"))
if n1 > n2:
gcd = "1"
k = 1
while k <= n2:
if n1 % k == 0 and n2 % k == 0:
gcd = k
k += 1
print(gcd)
elif n1 == n2:
print(n1)
else:
gcd = "1"
k = 1
while k <= n1:
if n1 % k == 0 and n2 % k == 0:
gcd = k
k += 1
print(gcd)
蒙特卡罗模拟使用随机数和概率来解决问题。它在计算机数学、物理、化学和经济方面都有非常广泛的应用。现在,我们看一个使用蒙特卡罗模拟来估计兀的例子。首先,绘制一个带外接正方形的圆。假设这个圆的半径为1。因此,这个圆的面积就是n,而矩形的面积为4。在这个正方形内随机产生一个点。这个点落在圆内的概率为circleArea/squareArea=n/4。编写一个程序,在正方形内随机产生1 000 000个点,使用numberOfHits表示落入圆内点的个数。所以,numberOfHits大约就是1000 00CsDN oi4就可以被近似表示为4*numberOfHits/1 000 000。