`
sunting_bcwl
  • 浏览: 96429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

计算任意整数的任意幂

阅读更多
最近复习数据结构,弱弱的写了写练习,这个是计算任意整数的任意次幂的算法

/*
* Author:  Kevin Alps
* Date:    2010-09-12
* Function:计算任意整数的任意幂
*/


#include <iostream>
#include <math.h>


#define MAXSIZE 100

using namespace std;

/*
* Parameter:
* result:结果数组  n:底数    exponent:指数     maxsize:结果数组的位数
*/


void mypow(int *result, int n, int exponent, int maxsize)
{
    //计算,每一位和底数相乘,然后进行进位处理,重复exponent次
    for(int k=0; k<exponent; k++)
    {
        for(int i=0; i<maxsize; i++)
        {
            result[i] *= n;
        }

        for(int i=0; i<maxsize; i++)
        {
            if(result[i] > 9)
            {
                result[i+1] = result[i]/10+result[i+1];
                result[i] = result[i] % 10;
            }
        }
    }
}

int main()
{
    int n;          //底数
    int exponent;   //指数

    cout << "Please input the number: ";
    cin >> n;
    cout << "Please input the exponent: ";
    cin >> exponent;

    int result[MAXSIZE]; //结果数组,结果在100位数以内,再大的话可以修改

    for(int i=0; i<MAXSIZE; i++) result[i]=0;   //初始化结果数组

    result[0] = 1;  //从零次方开始

    mypow(result, n, exponent, MAXSIZE);

    //打印出结果
    cout << "The result of " << n << "**" << exponent << " is: ";
    for(int i=MAXSIZE-1; i>-1; i--)
    {
        cout << result[i] << " ";
    }

    return 0;
}
分享到:
评论

相关推荐

    任意大整数的任意次幂

    在计算机科学中,计算大整数的任意次幂是一项重要的任务,特别是在密码学、数学建模和数值计算等领域。这个程序以C语言实现,能够快速处理大整数的幂运算,对于理解算法基础和提高计算效率有着显著的意义。 首先,...

    C++语言计算任意正整数的正整数次幂(用字符串实现基础计算)

    C++语言计算任意正整数的正整数次幂,用字符串实现基础计算,适用于初学者参考。

    任意大非负整数的任意大非负整数次方

    在编程领域,计算一个大非负整数的任意次方是一项常见的操作,特别是在数学计算、科学计算以及算法设计中。这个任务通常涉及到数值计算、大数处理和算法效率。在这个场景下,`任意大非负整数的任意大非负整数次方`的...

    C++实现任意数求整数幂

    能实现任意数求整幂,比如2.34324324的1000次方,用int型point储存小数点的位置,先重载*运算符,再实现求幂,用vector实现可扩展数组。

    任意长整数加法

    8. ** 应用场景:** 任意长整数加法常用于加密算法(如RSA)、金融计算(需要高精度计算利息、汇率等)、科学计算以及任何需要处理大整数的场合。 学习这个主题,开发者需要理解`BigInteger`的基本用法和其背后的...

    一条语句判断整数a是否是2的整数幂

    - **2的整数幂的特点**:任意一个2的整数幂减去1之后,其二进制表示中的所有低位都会变为1,而高位保持不变。例如,8(1000b)减去1后变为7(0111b)。 #### 2.2 解决方案示例 ```cpp #include using namespace ...

    用链表存储任意长度整数

    在计算机科学中,存储和操作任意长度的整数是一项基础且重要的任务,特别是在处理大整数计算时。这里我们探讨的主题是如何使用链表这一数据结构来实现这一目标,以及如何在此基础上实现加法和乘法运算。链表因其动态...

    长整数高精度计算

    ### 长整数高精度计算详解 在计算机科学领域,长整数高精度计算是一项关键技术,用于处理超出标准整型变量表示范围的数值运算。本文将深入探讨长整数高精度计算的基本概念、实现原理及应用案例,帮助读者理解并掌握...

    内蒙古准格尔旗第十中学八年级数学上册 15.2.3 整数指数幂导学案1(无答案)(新版)新人教版

    - 幂的乘方:nma)()( = am^n (m,n为任意整数) - 积的乘方:nab)()( = (ab)^n (m,n为任意整数) - 商的乘方:nba)()( = (a/b)^n (m,n为任意整数) 3. 0指数幂的规定: 当a≠0时,0a = 1,这是指数运算中的...

    高精度幂次方计算 C++实现

    对于题目“高精度幂次方计算 C++实现”,我们聚焦于实现一个C++程序,它能计算任意两个大整数的乘方,即求解形如`a^b`的问题,其中`a`和`b`可能是非常大的数值。这个问题在在线判题平台(Online Judge,简称OJ)如...

    大整数任意进制转换(2-62进制)

    大整数任意进制转换是一个核心概念,尤其是在处理大量数据、加密算法以及高级编程语言中。本文将深入探讨这个主题,结合"大整数任意进制转换(2-62进制)"的软件特点,解析其中涉及的关键知识点。 首先,我们来理解...

    整数指数幂的运算法则.doc

    即幂的运算公式中的指数m、n可以是任意整数,而不局限于正整数。这些公式被称为整数指数幂的运算法则。 ##### 三、应用迁移,巩固提高 - **例1**:设a[pic]0,b[pic]0,计算下列各式: - [pic] - **例2**:计算...

    华东师大版八年级数学下册导学案:16.4.1 零指数幂与负整数指数幂.docx

    探究点2讨论了负整数指数幂的计算,例如计算(1/2)^-2 * 3^-1 + (2019-π)^0 / (1/3)^-1,这里需要将负指数转换为正指数,同时利用0次幂等于1的规则,最终计算得出结果。 探究点3则涉及整数指数幂的综合运算,比如...

    大整数加减乘除和任意数任意进制转换的 C语言实现

    例如,从十进制转任意进制可以通过不断除以目标进制并收集余数来完成,从其他进制转十进制则可以利用基数的幂值逐步累加。 在`number.h`头文件中,可能会定义一个结构体表示大整数,比如`BigInt`,它可能包含一个...

    中学六年级数学下册6.4.1零指数幂与负整数指数幂导学案(无答案)鲁教版五四制学案.pdf

    例如,例1可能展示了如何利用零指数幂的规则简化表达式,例2和例3可能进一步涉及到负整数指数幂的计算。 5. **练习与巩固**: 学生需要通过完成随堂练习和课后习题来巩固所学知识。例如,填写课本上的空白,解决填空...

    中学六年级数学下册 6.4 零指数幂与负整数指数幂教学设计 鲁教版五四制 教案.doc

    例如,课堂检测中的计算题,如 \( (-0.1)^0 \) 和 \( 2^{-2} \),旨在检验学生对零指数幂和负整数指数幂规则的应用。 最后,课堂结束时的小结与作业部分,不仅回顾了本节课的重点知识,如 \( a^0 = 1 \) 和 \( a^{-...

    输入任意一个整数转换成一定要求的整数,要求在下面

    标题中的“输入任意一个整数转换成一定要求的整数”指的是编程中常见的数字转换问题。这可能涉及到将用户输入的整数按照特定格式或规则进行转换,例如二进制、八进制、十六进制之间的转换,或者是指将整数进行位运算...

    C++ 超大数加减乘除幂计算

    通常,我们可以使用字符串或整数数组来存储超大数,因为这两种方式都能方便地表示任意长度的数字。 1. **超大数的表示**: - 字符串:每个字符代表一个数字,例如,"12345"代表一个五位数。 - 整数数组:数组中的...

    jisuanqi.rar_长整数计算

    在描述中提到的“对任意长整数进行加减乘除运算”,意味着这个工具或者代码集实现了基本的算术运算,能够处理任意长度的整数,这对于金融、科学计算、密码学等领域非常有用。 在标准的编程语言中,如C、C++、Java等...

    C语言程序设计-对任意输入的 x,用下式计算并输出 y 的值;.c

    C语言程序设计-对任意输入的 x,用下式计算并输出 y 的值; 5 x y= 0 x=10 -5 x&gt;10

Global site tag (gtag.js) - Google Analytics