只过了测试点4,求助大佬哪里出了问题
查看原帖
只过了测试点4,求助大佬哪里出了问题
1584094
wushang12138楼主2024/12/17 23:20

int hw(int ret,int N) { int sum = 0; int n = N * ret; while(n /= N) { sum = sum * N + (n % N); } if (sum == ret) return 0; else return 1; } int add(int M,int N) { int m = N * M; int n = N * M; int count = 0; int sum = 0; while (m /= N) { count++; } while (n /= N) { sum = sum * N + (n % N); } return sum; } int main() { int N, M; int i = 0; int j = 0; scanf("%d %d", &N, &M); int sum,STEP = 0; int ret = M; while (hw(ret,N)) { int a = add(ret,N); ret = ret + a; int b = hw(ret,N); STEP ++; if (STEP > 30) break; } if (STEP > 30) printf("Impossible!"); else printf("%d", STEP); return 0; }

int hw(int ret,int N)
{
	int sum = 0;
	int n = N * ret;
	while(n /= N)
	{
		sum = sum * N + (n % N);
	}
	if (sum == ret)
		return 0;
	else
		return 1;
}
int add(int M,int N)
{
	int m = N * M;
	int n = N * M;
	int count = 0;
	int sum = 0;
	while (m /= N)
	{
		count++;
	}
	while (n /= N)
	{
		sum = sum * N + (n % N);
	}
	return sum;
}
int main()
{
	int N, M;
	int i = 0;
	int j = 0;
	scanf("%d %d", &N, &M);
	int sum,STEP = 0;
	int ret = M;
	while (hw(ret,N))
	{
		int a = add(ret,N);
		 ret = ret + a;
		int b = hw(ret,N);
		STEP ++;
		if (STEP > 30)
			break;
	}
	if (STEP > 30)
		printf("Impossible!");
	else
	printf("%d", STEP);
	return 0;
}
2024/12/17 23:20
加载中...