求 a^b(数学)
来源:互联网 发布:linux网卡配置文件路径 编辑:程序博客网 时间:2024/05/17 01:12
数据量很大时 long long中间也会溢出 所以要拆分开来做
1 # include <stdio.h> 2 # include <string.h> 3 # define LL long long 4 5 LL i, len, n, m; 6 LL a[110]; 7 8 void f(int n) 9 {10 for(i = 0; i < len; i++)11 a[i] *= n;12 for(i = 0; i < len+100; i++)13 {14 a[i+1] += a[i]/10;15 a[i] %= 10;16 }17 for(i = len+100; i >= 0; i--)18 {19 if(a[i] != 0)20 break;21 }22 len = i+1;23 }24 25 int main(void)26 {27 int p;28 scanf("%d", &p);29 while(p--)30 {31 scanf("%lld%lld", &n, &m);32 if(m == 1)33 printf("\n", n);34 else if(n == 0)35 printf("0\n");36 else if(n == 1)37 printf("1\n");38 else if(n < 0)39 {40 if(m % 2 == 1)41 printf("-");42 n = -n;43 }44 memset(a, 0, sizeof(a));45 a[0] = 1;46 len = 1;47 for(int i = 1; i <= m; i++)48 f(n);49 for(i = len-1; i >= 0; i--)50 printf("%lld", a[i]);51 printf("\n");52 }53 54 return 0;55 }
0 0
- 求 a^b(数学)
- POJ1845 求A^B的约数之和(数学)
- poj_1942 Paths on a Grid(组合数学 求C(a+b, a))
- 求a*b,a+b
- HDU - 2035 人见人爱A^B(数学)
- Matlab 矩阵 A ,矩阵 B,求A(B)
- 求GCD(a,b)
- 求a+b
- 二分法求a^b
- (1)求a+b
- 高精度求A+B
- 108: 求a*b
- A^B Problem_nyoj_473(数学).java
- hiho 1000 : A + B (数学)
- 判断a/b是否为有限小数 (小学数学题目)
- HDOJ 题目2524 矩形a+b(数学 水题)
- 1011. A+B和C (15)(数学啊 ZJU_PAT)
- 1017. A除以B (20) (数学啊 ZJU_PAT)
- 虚拟网卡 TUN/TAP 驱动程序设计原理
- NGUI按钮禁用与恢复
- XML两种MIME类型的不同
- 高精度
- POJ 1753 Flip Game (黑白棋) (状态压缩+BFS)
- 求 a^b(数学)
- SDUT OJ 2141 基于邻接矩阵的BFS
- SDUT OJ 2138 BFS 判断可达性 2139 BFS 从起始点到目标点的最短步数
- 树状数组
- 求逆序数(the number of inversions)(数学)
- 整数划分问题(数学)
- 求组合数(数学)
- 最长公共子序列、上升子序列、最长上升子序列、最长公共子串
- 素数筛模板(数学)