# C#版(击败100.00%的提交) - Leetcode 372. 超级次方 - 题解

### Leetcode 372. 超级次方 - 题解

372.Super Pow

#### 题目描述

a = 2
b = [3]

a = 2
b = [1,0]

a = 2147483647
b = [2,0,0]

• 题目难度：Medium
• 通过次数：77
• 提交次数：399
• 相关话题 数学 相似题目 Pow(x, n)

public class Solution
{
public int SuperPow(int a, int[] b)
{
int res = 0;
StringBuilder sb = new StringBuilder();
foreach (var item in b)
sb.Append(item);
int.TryParse(sb.ToString(), out int p);
var val = (int) Math.Pow(a, p);
res = val - (val / 1337)*1337;

return res;
}
}

[(a⋅ba⋅ba\cdot b mod n) (b−1b−1b^{-1} mod n) ] mod n = a mod n。

public class Solution
{
const int Mod0 = 1337;
public int SuperPow(int a, int[] b)
{
if (b.Length == 0)
return 1;

var res = 1;
for (int i = b.Length - 1; i >= 0; i--)
{
res = powMod(a, b[i]) * res % Mod0;
a = powMod(a, 10);
}

return res;
}

private int powMod(int a, int m)
{
a %= Mod0;
int result = 1;
for (int i = 0; i < m; i++)
result = result * a % Mod0;

return result;
}
}

Rank: You are here! Your runtime beats 100.00% of csharp submissions.

public class Solution
{
const int Mod0 = 1337;
public int SuperPow(int a, int[] b)
{
if (b.Length == 0)
return 1;

var res = 1;
for (int i = b.Length - 1; i >= 0; i--)
{
var powModResult = powMod(a, b[i]) * res;
res = powModResult - (powModResult / Mod0) * Mod0;
a = powMod(a, 10);
}

return res;
}

private int powMod(int a, int m)
{
a = a - (a / Mod0) * Mod0;
int result = 1;
for (int i = 0; i < m; i++)
result = result * a - (result * a / Mod0) * Mod0;

return result;
}
}

Rank: You are here! Your runtime beats 91.67% of csharp submissions.

0 条评论

• ### C++版 - 剑指offer 面试题32：从1到n整数中1出现的次数(leecode233. Number of Digit One) 题解

剑指offer 面试题32：从1到n整数中1出现的次数(Leecode233. Number of Digit One)

• ### C#版 - HDUoj 5391 - Zball in Tina Town(素数) - 题解

在线提交: http://acm.hdu.edu.cn/showproblem.php?pid=5391 Time Limit: 3000/1500 M...

• ### C#版 - LeetCode 148. Sort List 解题报告(归并排序小结)

提交网址： https://leetcode.com/problems/sort-list/

• ### HDU 1104 Remainder(BFS 同余定理)

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1104 在做这道题目一定要对同余定理有足够的了解，所以对这道...

• ### Apache 性能配置优化

最近在进行apache性能优化设置。在修改apache配置文件之前需要备份原有的配置文件夹conf，这是网站架设的好习惯。本文讲述的apache配置调优均是在r...

• ### go modules：使用 mod 管理项目依赖包，通过vendor实现一键分发编译包

在go语言1.11版本之前，没有modules机制，所有软件包都在安装在\$GOPATH/src目录下。不同项目如果引用了同一个软件包的不同版本，就会造成编译麻烦...

• ### HDU----(4549)M斐波那契数列(小费马引理+快速矩阵幂)

M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (J...

• ### OMRONFZ系列视觉与ABB机器人的通信

ABB与OMRON之间的通信，本例采用以太网TCP无协议模式通信。通过以太网由ABB机器人程序控制ONRON视觉的场景切换，拍照判断及其判断数据的 接收。 ?...

• ### Java并发学习之定时任务的几种玩法

Java中创建和玩转定时任务 定时任务，在日常工作中，可以说是一个算是一个常见的需求场景，比如定时数据校验，数据报表输出，报警等 0. 前言 前面一篇博文《J...