37.这里的问题是猜出电脑里存储的数字是什么。你将要编写一个能够随机生成一个0到100之间且包括0和100的数字的程序。这个程序提示用户连续地输入数字直到它与那个随机生成的数字相同。对于每个用户输人的数字,程序会提示它是否过高还是过低,所以,用户可以更明智地选择下一个输人的数字。下面是一个简单的运行:
38.两个整数4和2的最大公约数(GCD)是2。整数16和24的最大公约数是8。怎样找 出最大公约数呢?假设输人的两个整数是N1和N2。你知道数字1是它们的公约数,但它并 不是最大公约数。所以,你要检测K (H=2、3. 4. .是否为N1和N2的公约数,直到K大 于NI或N2。把公约数存储在一个名为GCD的变量中。初始状态时,GED 的值为1。每找到 一个新的公约数就把它赋给GCD。当你检测完从2到N1或从2到N2的所有可能公约数后, 存储在GCD中的值就是最大公约数。
39.蒙特卡罗模拟使用随机数和概率来解决问题。它在计算机数学、物理、化学和经济方面都有非常广泛的应用。现在,我们看一个使用蒙特卡罗模拟来估计π的例子。
首先,绘制一个带外接正方形的圆。假设这个圆的半径为1。因此,这个圆的面积就是π,而矩形的面积为4。在这个正方形内随机产生一个点。这个点落在圆内的概为circleArea/squareArea= π/4。编写一个程序,在正方形内随机产生1000000个点,使用.numberOfHits表示落人圆内点的个数。所以,numberOfHits 大约就是1 000 000* (π/4)。π就可以被近似表示为4*numberOfHits/1 000 000。
程序编辑:
40.(统计正数和负数的个数然后计算这些数的平均值)编写一个程序来读人不指定个数的整数,然后 决定已经读取的整数中有多少个正数和多少个负数并计算这些输入值(不统计0)的总和,最终得出它们的平均值。这个程序以输入值0来结束。使用浮点数显示这个平均值。下面是一个简单 的示例运行
41.(找出一个整数的所有因子)编写程序读取一个整数,然后显示它所有的最小因子,也称之为素 因子。例如:如果输人整数为120,那么输出应该如下所示。(2,2,2,3,5)
42.(显示一个金字塔)编写程序提示用户输人一个在1到15之间的整数,然后显示一个金字塔,示例运行如下所示