1143: 最大值—多种进制

来源:互联网 发布:淘宝虚拟现实购物 编辑:程序博客网 时间:2024/05/21 14:07




1143: 最大值—多种进制

时间限制: 1 Sec  内存限制: 128 MB
提交: 1364  解决: 1084
[提交][状态][讨论版][命题人:admin]

题目描述

输入n个数,每个数的进制由其后面的数字k指定,k>=2且k<=10, 输出最大的数对应的十进制数。 
要求程序定义一个KTod()函数和一个main()函数,KToD() 函数的功能是将k进制数转化为十进制整数,其余功能在main()函数中实现。 
int KToD(char str[], int k) 

//函数返回k进制数str对应十进制整数 
}

输入

首先输入整数n,然后是n行,每行包含一个字符串和一个整数k,用空格隔开,该字符串表示一个k进制数。所有输入均为非负数。

输出

输出最大的数对应的十进制数。

样例输入

41101  222121  3276  8134  10

样例输出

232

提示

 提示:将这四个数转化为10进制数分别是:13 232 190 134,故最大值是232.

来源



#include <iostream>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int jinzhi(char a[],int k){    int l = strlen(a);    int s = 1;    int sum = 0;    for(int i = l-1; i>=0; i--)    {        sum += (a[i]-'0') * s;        s *= k;    }    return sum;}int main(){    char ch[31];    int maxx = -1;    int n,i,k;    scanf("%d",&n);    getchar();    for(i=0;i<n;i++)    {        scanf("%s %d",ch,&k);        int s = jinzhi(ch,k);        if(s>maxx)            maxx = s;    }    printf("%d\n",maxx);    return 0;}


1143: 最大值—多种进制

时间限制: 1 Sec  内存限制: 128 MB
提交: 1364  解决: 1084
[提交][状态][讨论版][命题人:admin]

题目描述

输入n个数,每个数的进制由其后面的数字k指定,k>=2且k<=10, 输出最大的数对应的十进制数。 
要求程序定义一个KTod()函数和一个main()函数,KToD() 函数的功能是将k进制数转化为十进制整数,其余功能在main()函数中实现。 
int KToD(char str[], int k) 

//函数返回k进制数str对应十进制整数 
}

输入

首先输入整数n,然后是n行,每行包含一个字符串和一个整数k,用空格隔开,该字符串表示一个k进制数。所有输入均为非负数。

输出

输出最大的数对应的十进制数。

样例输入

41101  222121  3276  8134  10

样例输出

232

提示

 提示:将这四个数转化为10进制数分别是:13 232 190 134,故最大值是232.

来源

原创粉丝点击