poj 百练2972(基础题)

来源:互联网 发布:企业起名软件 编辑:程序博客网 时间:2024/05/17 07:50

参考例程代码

例子确实写的好

关键:其他进制数据转换为10进制 b2ten()

#include <stdio.h>#include <string.h>long b2ten(char *x, int b){int ret = 0;int len = strlen(x);for (int i = 0; i < len; ++i){if(x[i] - '0' >= b)return -1;ret *= b;ret += x[i] - '0';}return (long)ret;}int main(){int T;int i,j;char p[8],q[8],r[8];long palgo,qalgo,ralgo;scanf("%d",&T);while(T--){scanf("%s%s%s",&p,&q,&r);int b;for(b = 2; b <= 16; ++b){palgo = b2ten(p,b);qalgo = b2ten(q,b);ralgo = b2ten(r,b);if(palgo == -1 || qalgo == -1 || ralgo == -1)continue;if(palgo * qalgo == ralgo){printf("%d\n",b);break;}}if(b == 17)printf("0\n");}return 0 ;}


 

原创粉丝点击