pku1426.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 54 行

CPP
54
字号
#include <stdio.h>

int arr[1<<25];

int Solve(int X)
{
	int i;
	arr[1] = 1;
	for (i = 1; 1; i++)
	{
		arr[i * 2] = arr[i] * 10 % X;
		if (arr[i * 2] == 0)
		{
			return i * 2;
		}
		arr[i * 2 + 1] = (arr[i] * 10 + 1) % X;
		if (arr[i * 2 + 1] == 0)
		{
			return i * 2 + 1;
		}
	}
}

void Out(int X)
{
	int i;
	int mod;
	i = 0;
	mod = 1;
	while (mod <= X)
	{
		mod <<= 1;
	}
	mod >>= 1;
	while (mod)
	{
		printf("%d", X / mod);
		X %= mod;
		mod >>= 1;
	}
	printf("\n");
}

int main()
{
	int val;
	while (scanf("%d", &val) != -1 && val)
	{
		Out(Solve(val));
	}
	return 0;
}

⌨️ 快捷键说明

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