UVA 10515 - Powers Et Al.

题目链接

题意:求出m^n最后一位数

思路:因为m和n都非常大,直接算肯定是不行的,非常easy想到取最后一位来算,然后又非常easy想到最后一位不断乘自身肯定会形成周期。而且这个周期还挺短的,于是先求出周期,然后用n去取模该周期求出答案是第几个就可以

代码:

#include <stdio.h>
#include <string.h> int t[10];
int save[10][10];
char n[105], m[105]; int solve(int num) {
int lenn = strlen(n);
int mod = 0;
for (int i = 0; i < lenn; i++) {
mod = (mod * 10 + n[i] - '0') % num;
}
mod--;
if (mod < 0) mod = num - 1;
return mod;
} int main() {
for (int i = 0; i < 10; i++) {
int tmp = i;
save[i][t[i]++] = i;
tmp = tmp * i % 10;
while (tmp != i) {
save[i][t[i]++] = tmp;
tmp = tmp * i % 10;
}
}
while (~scanf("%s%s", m, n)) {
if (strcmp(m, "0") == 0 && strcmp(n, "0") == 0) break;
int start = m[strlen(m) - 1] - '0';
printf("%d\n", save[start][solve(t[start])]);
}
return 0;
}

UVA 10515 - Powers Et Al.(数论)的更多相关文章

  1. uva 11246 - K-Multiple Free set(数论)

    题目链接:uva 11246 - K-Multiple Free set 题目大意:给定n,k.求一个元素不大于n的子集,要求该子集的元素尽量多,而且不含两个数满足a∗k=b. 解题思路:容斥原理.f ...

  2. uva 11300 - Spreading the Wealth(数论)

    题目链接:uva 11300 - Spreading the Wealth 题目大意:有n个人坐在圆桌旁,每个人有一定的金币,金币的总数可以被n整除,现在每个人可以给左右的人一些金币,使得每个人手上的 ...

  3. UVA 11426 - GCD - Extreme (II) (数论)

    UVA 11426 - GCD - Extreme (II) 题目链接 题意:给定N.求∑i<=ni=1∑j<nj=1gcd(i,j)的值. 思路:lrj白书上的例题,设f(n) = gc ...

  4. UVA 1426 - Discrete Square Roots(数论)

    UVA 1426 - Discrete Square Roots 题目链接 题意:给定X, N. R.要求r2≡x (mod n) (1 <= r < n)的全部解.R为一个已知解 思路: ...

  5. Uva - 12050 Palindrome Numbers【数论】

    题目链接:uva 12050 - Palindrome Numbers 题意:求第n个回文串 思路:首先可以知道的是长度为k的回文串个数有9*10^(k-1),那么依次计算,得出n是长度为多少的串,然 ...

  6. UVA 10539 - Almost Prime Numbers(数论)

    UVA 10539 - Almost Prime Numbers 题目链接 题意:给定一个区间,求这个区间中的Almost prime number,Almost prime number的定义为:仅 ...

  7. UVa 1642 - Magical GCD(数论)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. UVA 1341 - Different Digits(数论)

    UVA 1341 - Different Digits 题目链接 题意:给定一个正整数n.求一个kn使得kn上用的数字最少.假设同样,则输出值最小的 思路: 首先利用鸽笼原理证明最多须要2个数字去组成 ...

  9. uva 10515 规律打表

    Problem G Power et al. Input: Standard Input Output: Standard Output Finding the exponent of any num ...

随机推荐

  1. Docker中免去sudo的设置方法

    Add the docker group if it doesn't already exist: sudo groupadd docker Add the connected user " ...

  2. HDU-4296 Buildings 贪心 从相邻元素的相对位置开始考虑

    题目链接:https://cn.vjudge.net/problem/HDU-4296 题意 有很多板子,每一个板子有重量(w)和承重(s)能力 现规定一块板子的PDV值为其上所有板子的重量和减去这个 ...

  3. shell 整数

    []     (())和[[]] -eq    == 或= -ne   != -gt    > -ge   >= -lt    < -le   <= [root@web02 ~ ...

  4. React 中组件间通信的几种方式

    在使用 React 的过程中,不可避免的需要组件间进行消息传递(通信),组件间通信大体有下面几种情况: 父组件向子组件通信 子组件向父组件通信 非嵌套组件间通信 跨级组件之间通信 1.父组件向子组件通 ...

  5. linux操作---cd

    cd命令用于切换工作路径,格式是cd [选项][参数]: [选项] -p  如果切换的工作目录是一个符号连接,直接切换到符号连接指向的目标目录: -L  如果切换的工作目录是一个符号连接,直接切换到符 ...

  6. pytorch 2 variable 变量

    import torch from torch.autograd import Variable tensor = torch.FloatTensor([[1, 2], [3, 4]]) variab ...

  7. Mysql学习总结(22)——Mysql数据库中制作千万级测试表

    前言: 为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张千万记录用户表. 步骤: 1 创建数据表(MYISAM方式存储插入速度比innodb方式快很多) 数据表描述 数 ...

  8. Hive中建表注释为乱码的解决方式

    Hive中建表注释为乱码的解决方式 可以查看http://www.cnblogs.com/stono/p/7813711.html进行手动修改: 如果要解决,在Ambari配置界面中,选择Hive,输 ...

  9. jeesite 简介

    jeesite 简介 https://github.com/thinkgem/jeesite http://jeesite.com/

  10. 【C语言】递归函数DigitSum(n)

    //写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, //比如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 #include <std ...