趣味程序设计_高次方数(快速幂 模板 大数取模用公式)
2017-02-22 14:25
405 查看
题目描述
求13的n次方(12<n≤130000000000)的最后三位数。例如:13的13次方的最后三位数是253,13的20次方的最后三位数是801。输入
有多组测试数据
每组测试数据一行,即整数n。以文件结尾符结束。
输出
输出13的n次方的最后三位数。
样例输入
13
20
样例输出
253
801
思路:1.13的n次方很大,不可以直接处理,13的后三位数只和计算过程中的后三位数字有关,且不可以直接计算,因为时间超限,所以应该简化算法,13的n次方是有周期的,计算过程中找出周期即可。
2.观察输入的内容应用64位整数。
方法1:利用周期:#include <iostream>
#include<cstdio>
using namespace std;
int str[100]={1},num;
void cal()
{
for(int i=1;i<=100;i++)
{
str[i]=13*str[i-1]%1000;
}
}
int main()
{
long long n;
cal();
while(scanf("%lld",&n)==1)
{
printf("%03d\n",str[n%100]);
}
return 0;
}2.利用快速幂
相关文章推荐
- 趣味程序设计_高次方数(快速幂 模板 大数取模用公式)
- 趣味程序设计_高次方数(快速幂 模板 大数取模用公式)
- 趣味程序设计_高次方数(快速幂 模板 大数取模用公式)
- 趣味程序设计_高次方数(快速幂 模板 大数取模用公式)
- 趣味程序设计_高次方数(快速幂 模板 大数取模用公式)
- 趣味程序设计_高次方数(快速幂 模板 大数取模用公式)
- FZU 1649 Prime number or not (米勒拉宾大素数判断+快速幂取模+随机数模板)
- zoj3903-数学公式(快速幂除法逆元组合数模板)
- hdu 1097 A hard puzzle(快速幂取模模板题)
- 51nod 1113 矩阵连乘快速幂模板 (对100000007取模)
- 快速幂取模算法模板
- Sumdiv(数论综合模板题:快速分解因式+快速幂取模+约数和公式+递归二分求等比数列和)
- 【快速幂模板】 nyoj102 次方求摸 420 p次方求和(快速幂+同余定理)
- 矩阵快速幂模板(可以在二重循环或者三重循环的地方取模)
- CodeForces 450B (矩阵快速幂模板题+负数取模)
- 快速幂取模算法模板
- [ACM] POJ 1845 Sumdiv(求A的B次方的所有因子的和,一大堆数学公式...,可做模板)
- hdu5972 Regular Number (bitset应用+快速匹配+shiftAnd匹配算法学习模板)
- 【模板】快速数论变换ntt
- 快速排序模板