C语言计算任意数的任意次方

#include "stdio.h"
#include"stdlib.h"
#define max 500
void yiwei(int *a,int n,int m)
{
for(int i=m-;i>=;i--)
{
if(i-n>=)
{
a[i]=a[i-n];
//a[i-n]=0;
}
else
a[i]=;
}
}
void main()
{
int a[max],bb[max],b[max][max],c[max],m,n,temp,i,j,k;
scanf("%d%d",&m,&n);
printf("提示:默认结果不超过500位,如果超过500位则出错!\n");
printf("%d的%d次方:",m,n);
for(i=;i<max;i++)
{
a[i]=;
c[i]=;
for(j=;j<max;j++)
b[i][j]=;
}
if(m<)
a[]=m;
else
{
temp=m;
j=;
while(temp!=)
{
a[j]=temp%;
temp=temp/;
j++;
}
}
//////
//m=16;126
while (n>)
{
for(i=;i<max;i++)
for(j=;j<max;j++)
b[i][j]=;
for(i=;i<max;i++)
bb[i]=a[i]*m;
for(i=;i<max;i++)
if(bb[i]<)
b[i][]=bb[i];
else
{
temp=bb[i];
for(j=;j<max;j++)
{
b[i][j]=temp%;
temp=temp/;
}
}
for(i=;i<max;i++)
{
yiwei(b[i],i,max);
}
//右加
for(i=;i<max;i++)
{
for(j=;j<max;j++)
c[i]=c[i]+b[j][i];
}
//c移位
for(i=;i<max;i++)
{
if(c[i]>=)
{
temp=c[i];
j=i;
while(temp!=)
{
if(j==i)
c[j]=temp%;
else
c[j]=c[j]+temp%;
j++;
temp=temp/;
}
}
}
for(i=;i<max;i++)
{
a[i]=c[i];
c[i]=;
}
n--;
} for(i=max-;i>=;i--)
{
if(a[i]!=)
break;
}
for(;i>=;i--)
printf("%d",a[i]);
printf("\n");
system("pause");
}
本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/702538
C语言计算任意数的任意次方的更多相关文章
- H5 可堆叠的圆环进度条,支持任意数量子进度条
by Conmajia SN: S22-W1M 由来 看到一篇帖子<vue实用组件--圆环百分比进度条>,让我想起了很多年前我在WinForm下仿制过的Chrome进度条. ▲ 原版进度条 ...
- 【bzoj1485:】【 [HNOI2009]有趣的数列】模任意数的卡特兰数
(上不了p站我要死了,侵权度娘背锅) Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇 ...
- C 语言实例 - 计算一个数的 n 次方
C 语言实例 - 计算一个数的 n 次方 计算一个数的 n 次方,例如: ,其中 为基数, 为指数. 实例 - 使用 while #include <stdio.h> int main() ...
- js求1到任意数之间的所有质数
何为质数: 只能被1 和 自身 整除的数; 方法: 利用js中求模, 看是否有余数. ---> 3%2 = 1; 5%2 = 3......... 代码如下: function test (n) ...
- [转帖]C语言计算时间函数 & 理解linux time命令的输出中“real”“user”“sys”的真正含义
C语言计算时间函数 & 理解linux time命令的输出中“real”“user”“sys”的真正含义 https://blog.csdn.net/willyang519/article/d ...
- 统计C语言程序行数
补充前一篇中统计C语言程序行数的程序 写得比较匆忙,可能有些失误,等弄明白GitHub的用法并完善程序后再补充完整代码链接 没有写成函数,但经过简单修改可以作为一个计算或判断函数使用 判断算法主要为以 ...
- hdu 5001 从任意点出发任意走d步不经过某点概率
http://acm.hdu.edu.cn/showproblem.php?pid=5001 给定n个点m条边的无向图问从任意点出发任意走d步,从不经过某个点的概率 本想先算路过每个点的概率然后用1减 ...
- C语言计算两个日期间隔天数
在网上看到了一个C语言计算日期间隔的方法,咋一看很高深,仔细看更高神,很巧妙. 先直接代码吧 #include <stdio.h> #include <stdlib.h> in ...
- 闰年计算——JavaScript 语言计算
㈠闰年是如何来的? 闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的.补上时间差的年份为闰年. ㈡什么是闰年? 凡阳历中有闰日(二月为二十九日)的年, ...
随机推荐
- char 转wchar_t 及wchar_t转char
利用WideCharToMultiByte函数来转换,该函数映射一个unicode字符串到一个多字节字符串.通常适合于window平台上使用. #include <tchar.h> #in ...
- MVC4项目中验证用户登录一个特性就搞定
在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性. // 摘要: // 表示一个特性,该特性用于限制调用方对操作方法的访问. [AttributeUsage(Attribu ...
- 嵌入式Linux应用开发——Linux下的C编程基础
一.markdown简单操作 1.标题 在文字开头加上 “#”,通过“#”数量表示几级标题. 通过在文字下方添加“=”和“-”,他们分别表示一级标题和二级标题. 2.块注释 通过在文字开头添加“> ...
- JS模拟Alert与Confirm对话框
这2个例子都是用原生JS写的,主要是用JS拼接了界面,并未做过多的事件监听.,样式用了Css3的一些特性. 调用方式则为: //Alert Alert.show('我警告你哦~'); //Confir ...
- 20145215《Java程序设计》第10周学习总结
20145215<Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络概述 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定 ...
- Anaconda安装更新库
平台:win64+anaconda 1. 如何查看已安装的库 打开 Anaconda Command Prompt ,在命令提示符窗口中输入以下命令: pip list # 或者 conda list ...
- 整合 Bing translator 到自己的系统中
整合这个功能, 是因为 aliexpress 的买家来自不同国家, 我的 "小卖家" 同步到买家的留言, 很多西班牙,俄罗斯等小语种的文字, 看不懂. Google 被墙, 基本很 ...
- C#Json序列化和反序列化
1.动态决定数据是否要序列化 我的需求是这样的,我用了一款数据库的组件叫Dos.ORM,确实方便了不少,但是在用的时候,我发现一个问题,比如我定义的表中有一个字段添加时间,修改时间,这些都是默认的,在 ...
- bower入门
一.bower简介 bower是一个基于js的包管理工具,类似于java的maven. 官方网站:http://bower.io/ 二.安装bower 使用bower,首先要安装node npm和gi ...
- SQL温故系列两篇(二)
.Sql 插入语句得到自动生成的递增的ID值 Insert into Table(name,des,num) values(’ltp’,’thisisbest’,10); Select @@ident ...