K尾相等数(模运算)
Description
从键盘输入一个自然数K(K>1),若存在自然数M和N(M>N),使得K^M^和K^N^均大于或等于1000,且他们的末尾三位数相等,则称M和N是一对“K尾相等数”。请编一个程序,输出M+N值最小的K尾相等数。
Input
输入一个整数K
Output
输出M+N的最小值
Sample Input
2
Sample Output
120
用到的知识点:
\((a * b) \% mod = ((a \% mod) * (b \% mod)) \% mod\)
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int k, nums[1000]; // nums[(k^n) % 1000的余数] = n
while (cin >> k)
{
if (k <= 1)
return -1;
memset(nums, 0, sizeof(nums)); // nums数组初始化0
int n = 0, numPow = 1; // 当前计数的幂次
while (numPow < 1000) // 找到>=1000时的k的n次幂
{
numPow *= k;
n++;
}
while (true)
{
if (nums[numPow % 1000] == 0)
nums[numPow % 1000] = n; // 如果nums[]为0, 没有标记过, 就标记当前的幂次数n
else
break; // 被标记过就是, 找到了第二个(M)标记的了
numPow = (numPow % 1000) * (k % 1000); // 模运算的乘法
n++; // 幂次++
}
cout << nums[numPow % 1000] + n << endl; // nums[numPow % 1000]存的第一次(N)的, n为第二次(M)的
}
return 0;
}
K尾相等数(模运算)的更多相关文章
- Uva 11582 巨大的斐波那契数 模运算
题目链接:https://vjudge.net/contest/156903#problem/A 题意:计算 f(a^b)%n 分析: 1.斐波那契数列是 f(i+2) = f(i+1) + f(i) ...
- 1076 K尾相等数
时间限制:500MS 内存限制:65536K提交次数:251 通过次数:80 题型: 编程题 语言: C++;C Description 从键盘输入一个自然数K(99999999>K> ...
- nyoj_212_K尾相等数_210402272239
K尾相等数 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 输入一个自然数K(K>1),如果存在自然数M和N(M>N),使得K^M和K^N均大于等于100 ...
- SCAU-1076 K尾相等数
代码借鉴SCAU-OJ(感谢!!) 题目:1076 K尾相等数 时间限制:500MS 内存限制:65536K提交次数:251 通过次数:80 题型: 编程题 语言: G++;GCC Desc ...
- 二分求幂/快速幂取模运算——root(N,k)
二分求幂 int getMi(int a,int b) { ; ) { //当二进制位k位为1时,需要累乘a的2^k次方,然后用ans保存 == ) { ans *= a; } a *= a; b / ...
- Divide two numbers,两数相除求商,不能用乘法,除法,取模运算
问题描述:求商,不能用乘法,除法,取模运算. 算法思路:不能用除法,那只能用减法,但是用减法,超时.可以用位移运算,每次除数左移,相当于2倍. public class DividTwoInteger ...
- #数论-模运算#POJ 1150、1284、2115
1.POJ 1150 The Last Non-zero Digit #质因数分解+模运算分治# 先贴两份题解: http://www.hankcs.com/program/algorithm/poj ...
- 蓝桥杯 问题 1110: 2^k进制数 (排列组合+高精度巧妙处理)
题目链接 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2 ...
- a ^ b mod c 取模运算优化反思(老物)
这是一篇嘲讽我之前的自己采用笨重愚蠢思想去解决问题的日志. RSA 加密与解密涉及到 a ^ b mod c 的问题,如何计算这个值呢? 我会选择 pow(a, b) % c, 事实上在写RSA的时候 ...
随机推荐
- requests设置代理ip
# coding=utf-8 import requests url = "http://test.yeves.cn/test_header.php" headers = { &q ...
- property和setter装饰器
# property装饰器 # 作用: 将一个get方法转换为对象的属性. 就是 调用方法改为调用对象 # 使用条件: 必须和属性名一样 # setter方法的装饰器: # 作用:将一个set方法转换 ...
- SOAP调用Web Service
SOAP调用Web Service (示例位置:光盘\code\ch07\ WebAppClient\ JsService4.htm) <html xmlns="http://www. ...
- Apache Hudi助力nClouds加速数据交付
1. 概述 在nClouds上,当客户的业务决策取决于对近实时数据的访问时,客户通常会向我们寻求有关数据和分析平台的解决方案.但随着每天创建和收集的数据量都在增加,这使得使用传统技术进行数据分析成为一 ...
- ES5新增数组的方法
ES5新增数组的方法 ES5新增数组常见方法(indexOf/forEach/map/filter/some/every) .indexOf( data , start) 检测数组中是否存在指定数据 ...
- log4cplus库的properties文件配置
使用时需要先获取一个Logger的对象,下面获取Logger对象的内容对应于配置: Logger LogConsole = Logger::getInstance(LOG4CPLUS_TEXT(&qu ...
- Hibernate关系映射之many-to-many(多对多)
在表设计中,我们一般都会考虑表与表之间的关系,现在我来介绍一下表与表之间的几种对应关系many-to-many 多对多 比如一个用户可以有多种角色 一种角色可以对用多个不同的用户所以角色和用户之间的关 ...
- 手撸ORM浅谈ORM框架之Delete篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- POI CellStyle 中样式覆盖问题
问题描述 在使用 Apache POI-3.8的时候,需要一个功能,就是处理上传得 Excel的 cell style.如果数据有错误,则标红或者加上其他 style 标识.但是当直接获取到 cell ...
- k8s部署之系统初始化(一)
初始化 1.安装依赖包 yum -y install tree lrzsz nmap nc telnet vim wget lsof network-tools bash-completion bas ...