现在的位置: 首页 > 综合 > 正文

RQNOJ PID729 / 相同的后K位

2018年01月13日 ⁄ 综合 ⁄ 共 575字 ⁄ 字号 评论关闭
题目描述

路人甲给你出了一道奇怪的问题,他给你了一个正整数L,他想知道当正整数m,n为何值时,L^m与L^n的最后K位数字相同。

路人甲考虑到可能会有很多组解,你只需要告诉他最小的m,n且0<n<m。

输入格式

一个正整数L,一个正整数k

输出格式

输出一个最小的m,n

样例输入


:


 100 3


样例输出:3 2
注释

【数据规模及约定】

100<=L<=9999

1<=k<=4

题解

数据有错,第八个点答案为103 3.

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<cmath>
#include<algorithm>
#define ll long long
using namespace std;
ll l,k,mod;
int a[10002];
bool pd[10002];
void work()
{
	ll s=l%mod,v=l%mod; int i;
	pd[s]=1; a[s]=1;
	for(i=2;i<=100000;i++)
	   {s=(s*v)%mod;
	    if(pd[s]) {printf("%d %d\n",i,a[s]); return ;}
	    a[s]=i; pd[s]=1;
	   }
}
int main()
{
	scanf("%lld%lld",&l,&k);
	mod=pow(10,k);
	work();
	return 0;
}

抱歉!评论已关闭.