3098278_ac_453ms_2256k.cc

来自「北大大牛代码 1240道题的原代码 超级权威」· CC 代码 · 共 78 行

CC
78
字号
#include <iostream>
#include <stdlib.h>

using namespace std;

char ans[1000009];

int mod (char num[], int d)
{
	int i, c, t;

	t = 0;
	c = 0;
	for(i = 0; num[i]; i++)
	{
		t *= 10;
		t += num[i]-'0';
		if(t < d)
		{
			ans[c++] = '0';
			continue;
		}
		ans[c++] = t/d+'0';
		t = t%d;
		
	}
	ans[c] = '\0';
	for(i = 0; ; i++)
	{
		if(ans[i]!='0')
		{
			strcpy(ans,&ans[i]);
			break;
		}
	}
	return t;
}

char num[1000009];

int main()
{
	int i, n, cas;
	
	cas = 1;
	while(scanf("%s",&num[2])==1)
	{
		if(strcmp(&num[2],"0")==0)
		{
			break;
		}
		printf("%d. ",cas++);
		for(i = 1; i < 10; i++)
		{
			num[1] = i+'0';
			if(mod(&num[1],11)==0)
			{
				puts(ans);
				break;
			}
		}
		if(i==10)
		{
			num[0] = '1';
			num[1] = '0';
			if(mod(num,11)==0)
			{
				puts(ans);
				continue;
			}
		}
		else
			continue;
		puts("IMPOSSIBLE");
	}
	return 0;
}

⌨️ 快捷键说明

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