平方等于立方数

本文通过编写Java程序,探讨了在一定范围内哪些自然数的平方等于另一个自然数的立方,展示了具体的实现代码及运行结果。

平方等于立方数 

       能减轻别人的负担,能多做点,那就多做点。

       以前常注意,数学教科书中的例题都很精炼,很巧妙。听老师讲例题的时候常常感觉很轻松、很好懂(后面的练习是不一样的风格),因而常有“一学就会,一做就错!”的尴尬。

       写这个程序的初衷是在于,在学习java过程中,涉及到计算三维坐标距离。举例进行说明验证,需要一些实例。一般问题举例,能用整数,尽量不用小数,旁枝侧叶尽可能精简,以免影响主干的理解。因为目的在于说明问题,而不在于游山玩水。

       如果在无关问题上浪费了过多精力,占用了过多注意力,那在中心问题上,精力被削弱,注意力被分散,不利于说明问题。不能算是一个好示例。对不起观众,也不利于后期温习。

       数学中的例题因精炼、精巧,而成为经典。学习,并试着向这些例题看齐。因此,产生了这个处理:a*a = b * b * b (a,bN*),找出小范围内平方数=立方数的自然数。

/*
 * 需求:
 *      例举50以内的某个自然数的平方刚好等于某自然数的立方?
 */
public class TestDistance
{
    public static void main(String[] args){
 	    int j;
 	    int result;
 	    boolean flag;
	    int n = 0;

	    for(int i = 1;i < 50;i++){
	        flag = false;			
	        result = i * i;			
	        for(j = 1;j < 14;j++){          //"14"的选取是考虑循环运算的效率;50 * 50 ≈ 14 * 14 * 14
		        if(result == j * j * j){
			        n += 1;
			        flag = true;
			        break;
		        }	
	        }
	        if (flag == true) {
		        System.out.println("第" + n + "组," + 	i + "^" + "2" + "=" + 
												        j + "^" + "3" + "=" + result);
	        }
	    }
    }
}

下图为运行结果:


       如上图可知,自然数在50以内,只有这3组符合条件。

       为了能看到多一点的组,将50同时增加一个数量级,变为500.即将上面程序中第08行代码的i<50,改成i<500.j随之调整为65.因500 * 500 ≈ 65 * 65 * 65.

下面是修改代码后,运行的结果:




在Python中,计算平方立方有多种实现方法,以下是一些常见的方式: ### 使用运算符计算 可以使用 `**` 运算符来计算平方立方。`**` 运算符用于进行幂运算,`x ** 2` 表示计算 `x` 的平方,`x ** 3` 表示计算 `x` 的立方。示例代码如下: ```python # 计算平方 square = 4 ** 2 print(square) # 计算立方 cube = 4 ** 3 print(cube) ``` ### 封装函计算 可以定义函来计算平方立方,这样可以提高代码的复用性。示例代码如下: ```python # 定义计算平方的函 def square(x): return x ** 2 # 定义计算立方的函 def cube(x): return x ** 3 # 调用函进行计算 print(square(5)) print(cube(5)) ``` ### 暴力试错法(不使用库) 在引用[2]中给出了一个通过暴力试错法实现平方立方平方根和立方根计算的示例代码,虽然代码中函未定义,但逻辑上可以通过循环来实现。以下是补充完整后可以运行的代码示例: ```python # 计算平方 def pf(math): return math * math # 计算立方 def lf(math): return math * math * math # 计算平方根(简单暴力试错法) def pfg(math): i = 0 while i * i <= math: if i * i == math: return i i += 1 return None # 计算立方根(简单暴力试错法) def lfg(math): i = 0 while i * i * i <= math: if i * i * i == math: return i i += 1 return None if __name__ == "__main__": while True: choose = str(input("请选择运算方式:\n平方 = 1 立方 = 2\n平方根 = 3 立方根 = 4\n")) if choose not in ["1", "2", "3", "4"]: print("请选择正确的选项") continue try: math = int(input('原\n')) except ValueError: print("请输入一个整\n") continue if choose == "1": print(pf(math)) elif choose == "2": print(lf(math)) elif choose == "3": print(pfg(math)) elif choose == "4": print(lfg(math)) ```
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值