Digit String题目描述小明获得了一些密码的片段,包含0∼9,A∼F 这些字符,他猜这些是某个进制下的一个整数的数码串。 小明想知道从2到16进制中,哪些进制下,这个数码串的对应的十进制整数值,等于n? 输入存在不超过1000个样例,每行一个样例。 每行包括两部分,数码串(串长不超过31),整数n(1≤n≤109) 输出每行输出一个样例的结果。 如果存在多个解,输出最小的那个进制。 如果没有满足的进制,输出"Impossible"。 样例输入F 15 F 14 23 11 25 13 样例输出16 Impossible 4 Impossible |
||
初始代码如下:
#include<stdio.h>
#include<string.h>
char s[32];
int Solve(int num,int len);
int main()
{
s[31] = '\0';
while (scanf("%s", s, sizeof(s)) != EOF){
int n;
scanf("%d", &n);
int len = strlen(s);
int i, sum;
for (i = 16; i >=2; i--) {
sum = Solve(i, len);