Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
Register

## Re:这种题有现成的库函数可用的……

Posted by 810974380 at 2009-08-20 20:59:18 on Problem 1331
In Reply To:这种题有现成的库函数可用的…… Posted by:wpolly at 2007-06-15 06:16:25
```> #include<stdio.h>
> #include<stdlib.h>
> #include<string.h>
> char a[9], b[9], c[9], tmp[9];
> int main()
> {
> 	int n, x, y, z, m;
> 	scanf("%d", &n);
> 	while (n--) {
> 		scanf("%s %s %s", a, b, c);
> 		m = 1;
> 		while (++m < 17) {
> 			x = strtol(a, NULL, m);
> 			y = strtol(b, NULL, m);
> 			z = strtol(c, NULL, m);
> 			if (x * y != z)
> 				continue;
> 			if (strcmp(a, itoa(x, tmp, m)))    //关键步骤
> 				continue;
> 			if (strcmp(b, itoa(y, tmp, m)))    //关键步骤
> 				continue;
> 			if (strcmp(c, itoa(z, tmp, m)))    //关键步骤
> 				continue;
> 			break;
> 		}
> 		printf("%d\n", m < 17 ? m : 0);
> 	}
> 	return 0;
> }

因为比如用 strtol 转化的话 ,strtol("6", NULL, 3) 返回0,
这是不合题意的~

我直接写
6  9 42  输出3   因为strtol  转化成3进制的话   分别是0 0 0;

```

Followed by: