码迷,mamicode.com
首页 > 其他好文 > 详细

【蓝桥杯竞赛】确定进制

时间:2015-04-23 17:12:09      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

技术分享

 

比较简单,只要搞懂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;  
}  

void main( ) {  
    int n;
    char p[8],q[8],r[8];
    long pAlgorism, qAlgorism, rAlgorism;
    scanf("%d", &n);
    while(n--) {
        scanf("%s%s%s", p, q, r);
        int b;
        for( b= 2; b <= 16; b++ ) {
            pAlgorism = b2ten(p, b);
            qAlgorism = b2ten(q, b);
            rAlgorism = b2ten(r, b);
            if (pAlgorism == -1 || qAlgorism == -1 || rAlgorism == -1)
                continue;
            if (pAlgorism * qAlgorism == rAlgorism)
            {
                printf("%d\n",b);
                break;
            }
        }
        //for循环执行结束
        if (b == 17)
            printf("0\n");  
    }

【蓝桥杯竞赛】确定进制

标签:

原文地址:http://www.cnblogs.com/superkrissV/p/4450950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!