精华内容
下载资源
问答
  • https://www.zybang.com/question/5c62e3409feff2cf9f3fa4109e5572b4.html https://www.zybang.com/question/5d4379713bfb6083d2b0ae7b2aef5f4e.html

    https://www.zybang.com/question/5c62e3409feff2cf9f3fa4109e5572b4.html
    https://www.zybang.com/question/5d4379713bfb6083d2b0ae7b2aef5f4e.html

    展开全文
  • 类型一:求n次幂 类型二:求n开方 类型一:求n次幂 实现 pow(x, n),即计算 x 的 n 次函数。其中n为整数。pow函数的实现——leetcode 解法1:暴力法 不是常规意义上的暴力,过程中通过动态调整底数的大小来...

    类型一:求n次幂

    实现 pow(x, n),即计算 x 的 n 次幂函数。其中n为整数。pow函数的实现——leetcode

    解法1:暴力法

    不是常规意义上的暴力,过程中通过动态调整底数的大小来加快求解。代码如下:

    class Solution:
        def myPow(self, x: float, n: int) -> float:
            judge = True
            if n<0:
                n = -n
                judge = False
            if n==0:
                return 1
            final = 1     # 记录当前的乘积值
            tmp = x       # 记录当前的因子
            count = 1     # 记录当前的因子是底数的多少倍
            while n>0:
                if n>=count:
                    final *= tmp  
                    tmp = tmp*x
                    n -= count
                    count +=1  
                else:
                    tmp /= x
                    count -= 1
            return final if judge else 1/final

    解法2:根据奇偶幂分类(递归法,迭代法,位运算法)

    1. 如果n为偶数,则pow(x,n) = pow(x^2, n/2);

    2. 如果n为奇数,则pow(x,n) = x*pow(x, n-1)。

    递归代码实现如下:

    class Solution:
        def myPow(self, x: float, n: int) -> float:
            if n<0:
                n = -n
                return 1/self.help_(x,n)
            return self.help_(x,n)
    
        def help_(self,x,n):
            if n==0:
                return 1
            if n%2 == 0:  #如果是偶数
                return self.help_(x*x, n//2)
            # 如果是奇数
            return self.help_(x*x,(n-1)//2)*x

    迭代代码如下:

    class Solution:
        def myPow(self, x: float, n: int) -> float:      
            judge = True
            if n < 0:
                n = -n
                judge = False     
            final = 1
            while n>0:
                if n%2 == 0:
                    x *=x
                    n //= 2
                final *= x
                n -= 1
            return final if judge else 1/final

    python位运算符简介

    其实跟上面的方法类似,只是通过位运算符判断奇偶性并且进行除以2的操作(移位操作)。代码如下:

    class Solution:
        def myPow(self, x: float, n: int) -> float:      
            judge = True
            if n < 0:
                n = -n
                judge = False      
            final = 1
            while n>0:
                if n & 1:   #代表是奇数
                    final *= x
                x *= x
                n >>= 1     # 右移一位
            return final if judge else 1/final 

    类型二:求n开方

    实现 pow(x, n),即计算 x 的 n 次幂函数。其中x大于0,n为大于1整数

    解法:二分法求开方

    思路就是逐步逼近目标值。以x大于1为例:

    1. 设定结果范围为[low, high],其中low=0, high = x,且假定结果为r=(low+high)/2;

    2. 如果r的n次方大于x,则说明r取大了,重新定义low不变,high= r,r=(low+high)/2;

    3. 如果r的n次方小于x,则说明r取小了,重新定义low=r,high不变,r=(low+high)/2;

    代码如下:

    class Solution:
        def myPow(self, x: float, n: int) -> float: 
            # x为大于0的数,因为负数无法开平方(不考虑复数情况)
            if x>1: 
                low,high = 0,x
            else:
                low,high =x,1
            while True:
                r = (low+high)/2
                judge = 1
                for i in range(n):
                    judge *= r
                    if x >1 and judge>x:break # 对于大于1的数,如果当前值已经大于它本身,则无需再算下去
                    if x <1 and judge<x:break # 与上类似
                if abs(judge-x)<0.0000001: # 判断是否达到精度要求
                    print(pow(x,1/n))   # pow函数计算结果
                    return r
                else:
                    if judge>x:
                        high = r
                    else:
                        low = r

    转载于:https://www.cnblogs.com/anzhengyu/p/11185603.html

    展开全文
  • 复数幂

    2020-06-02 20:07:24
    import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; import java.math.BigInteger; public class Main_3 { ... * 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 *
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.PrintStream;
    import java.math.BigInteger;
    
    public class Main_3 {
    
    	/**
    	 * 复数幂 题目:设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少?
    	 * 即(2+3i)的123456次幂,这个数字很大,要求精确表示。
    	 * 
    	 * 答案写成 “实部±虚部i” 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2
    	 * 写成: -5+12i, (2+3i)^5 的写成: 122-597i 注意:需要提交的是一个很庞大的复数,不要填写任何多余内容。
    	 * 
    	 * 
    	 * 
    	 * 
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		BigInteger two = BigInteger.valueOf(2);
    		BigInteger three = BigInteger.valueOf(3);
    		BigInteger a = BigInteger.valueOf(2);
    		BigInteger b = BigInteger.valueOf(3);
    		BigInteger aa = null;
    		BigInteger bb = null;
    		for (int i = 0; i < 123455; i++) {
    			aa = a.multiply(two).subtract(b.multiply(three));
    			bb = a.multiply(three).add(b.multiply(two));
    			a = aa;
    			b = bb;
    		}
    		try {
    			System.setOut(new PrintStream(new File("E:\\新建文本文档.txt")));
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		System.out.println(aa + (bb.compareTo(BigInteger.ZERO) < 0 ? "-" : "+")
    				+ bb + "i");
    
    	}
    
    }
    
    
    展开全文
  • 蓝桥杯 复数幂

    2021-03-23 22:38:19
    蓝桥杯 复数幂 题目要求: 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 正确答案:因为数字过大,导致数字...

    蓝桥杯 复数幂

    题目要求:
    设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。
    求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。

    正确答案:因为数字过大,导致数字显示不出来,所以需要IO流将数字传入到文件中显示

    因为这一次数字过大已经超过了9位数字,甚至可以超过Long类型的范围,所以int long已经满足不了我们的运算,所以我们需要涉及新的概念,BigInteger这个类,首先它不是基本数据类型之一,不能进行简单的加减乘除运算,取而代之,可以用一些方法代替他们,比如add()加法 subtract()减法 mutiply()乘法 divide()除法,其次它其实更像String,是Java里的一个类,然而它的初始化方式却没有String那么方便可以直接赋值,而是跟其他自定义的类一样,要调用它的构造器进行初始化。这个类的取值范围原则上是没有上限的,取决于你的计算机的内存,这也是我们需要用到的地方

    分析:

    其实整体思路,很简单,只不过就是利用for循环,将复数进行123455次相乘即可,在这里插入图片描述
    这是两个复数相乘的公式,等会我们会用到,最后算出结果,利用Io流传送到文件中即可,代码如下:

    import java.io.FileWriter;
    import java.io.IOException;
    import java.math.BigInteger;
    
    public class App_33 {
        //(a+bi)*(c+di)=(ac-bd)+(ad+bc)i
        //(2+3i)*(2+3i)=(2*2-3*3)+(2*3+3*2)i
        public static void main(String[] args) throws IOException {
            BigInteger a = new BigInteger("2");
            BigInteger b = new BigInteger("3");
            BigInteger c = new BigInteger("2");
            BigInteger d = new BigInteger("3");
    
            BigInteger e = new BigInteger("2");
            for(int i =1;i<=123455;i++){
                e=a;
                //a*c-b*d
                a= a.multiply(c).subtract(b.multiply(d));
                //a*d+b*c
                b= e.multiply(d).add(b.multiply(c));
            }
            //利用IO流,发送到该地址下的文件中
            FileWriter writename = new FileWriter("src/bi.txt");
            //如果b是正数,则需要我们自己添加加号
            //如果b是负数,则它会自动添加负号
            if(b.compareTo(BigInteger.ZERO)>=0){
                writename.write(a+"+"+b+"i");
    
            }else{
    
                writename.write(a+""+b+"i");
            }
    
            writename.flush();
        }
    }
    

    最后的结果,博主也不展示了,因为实在是太大了,感兴趣小伙伴可以看一下它到底是几位数,可以自己手动查一下哟

    展开全文
  • 复数幂问题

    2020-04-15 15:51:15
    复数幂问题代码简化至19行 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式...
  • Fixed-Point Designer™ provides data types and tools for optimizing and implementing fixed-point andfloating-point algorithms on embedded hardware. It includes fixed-point and floating-pointdata types...
  • 从巾,冥声简介次幂字典解释编辑语音新华字典解释(mì)形声。从巾,冥声。1) 本义:盖东西用的巾。【英语 cloth cover】大巾谓之。——《小尔雅·广诂》人,掌共巾。——《周礼·天官·人》。注:“共巾,可以...
  • 蓝桥杯 复数幂JAVA

    2021-01-22 11:53:57
    即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成: -5+12i,...
  • 采用矩阵变换及复数变换等研究方法,给出了二阶方阵n次幂的通用公式,给出了分式差分方程、二阶线性差分方程及差分方程组的完全解,应用该公式得到了二端梯形电阻网络等效电阻的通用公式.所得结果可使相关问题中的计算...
  • python 实现n次幂,n开方

    千次阅读 2019-06-26 11:24:19
    实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 = 1/22 = 1/4 = 0.25 说明: ...
  • 20.复数幂

    2020-08-09 20:32:17
    复数幂 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部都是...
  • 标题:复数幂

    2019-11-21 16:19:47
    标题:复数幂 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和...
  • 蓝桥杯之复数幂

    2019-03-06 15:40:21
    标题:复数幂 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部...
  • 复数幂 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部都是...
  • 9-3 复数幂Java

    2019-03-23 10:17:58
    /*标题:复数幂 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 "实部±虚部i" 的形式,实部和虚部...
  • 复数幂(蓝桥杯)

    千次阅读 2019-02-22 18:34:11
    即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 "实部±虚部i" 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成:...
  • Java实现第九届蓝桥杯复数幂

    万次阅读 多人点赞 2019-07-28 12:28:11
    复数幂 题目描述 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和...
  • for n=1:7 aa=a(n); bb=b(n); tt=t(n); pp=p(n); x(n)=fsolve(@nonlin,xx0); end disp(x) function f= nonlin(x) global aa bb tt pp f=8.314*tt/(x-bb)-aa/(x*(x+bb))-pp; 计算结果: 28.7864 28.6871 28.5380 ...
  • java蓝桥复数幂

    2020-04-23 18:01:53
    即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成: -5+12i,...
  • 即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成: -5+12i.....
  • Java利用BigInteger类进行复数运算

    千次阅读 2018-10-15 14:42:51
    首先在int的范围内求复数...虚数由实部和虚部组成,进行运算的时候,直接用上面推导的公式就行,第一循环的时候a=c,b=d,之后把(ac-bd)的值赋给c,把(ad+b*c)的值赋给d。 import java.util.Scanner; pub...
  • 【蓝桥杯java】复数幂

    2020-10-14 11:42:55
    即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。 (2+3i)^2 写成: -5+12i...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,157
精华内容 3,662
关键字:

复数的n次幂