⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3978668_wa.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CPP
字号:
#include <map>
#include <stdio.h>
#include <ctype.h>
#include <algorithm>

using namespace std;

int base;

int change(char str[])
{
	int ret (0);

	for (int i = 0; str[i]; i++)
	{
		ret *= base;
		ret += isalpha(str[i]) ? (tolower(str[i]) - 'a' + 10) : (str[i] - '0');
	}
	return ret;
}

//map <int, int> h;
int h[100000];

int main()
{
	int n, cas;
	char num[100], den[100];
	int x, y, i;

	//freopen("sin", "r", stdin);
	scanf("%d", &n);
	for (cas = 1; cas <= n; puts(""), cas++)
	{
		//h.clear();
		memset(h, 0, sizeof(h));
		printf("Scenario %d:\n", cas);
		scanf("%d%s%s", &base, num, den);
		x = change(num);
		y = change(den);
		x %= y;
		h[x] = 1;
		for (i = 2; x != 0; i++)
		{
			while (x < y)
			{
				x *= base;
			}
			x %= y;
			if (h[x] != 0)
			{
				printf("%d\n", i - h[x]);
				break;
			}
			h[x] = i;
		}
		x == 0 && puts("0");
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -