标签:blog io ar os sp for 数据 div 问题
题目描述
路人甲给你出了一道奇怪的问题,他给你了一个正整数L,他想知道当正整数m,n为何值时,L^m与L^n的最后K位数字相同。
路人甲考虑到可能会有很多组解,你只需要告诉他最小的m,n且0<n<m。
一个正整数L,一个正整数k
输出一个最小的m,n
【数据规模及约定】
100<=L<=9999
1<=k<=4
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<string>
using namespace std;
int L,k;
bool f[10000];
int v[10000],MOD;
int main()
{
scanf("%d%d",&L,&k);
MOD=1;
while(k--)
MOD*=10;
for(int i=1;;i++)
{
if(f[L])
{
printf("%d %d\n",i,v[L]);
return 0;
}
f[L]=1;
v[L]=i;
L=(L*L)%MOD;
}
return 0;
}
标签:blog io ar os sp for 数据 div 问题
原文地址:http://www.cnblogs.com/a972290869/p/4101054.html