1 条题解
-
0
C :
#include<stdio.h> #include<string.h> #include<math.h> int main() { int tran(char s[]); char s[20]; int n; gets(s); n=tran(s); printf("%d\n",n); } int tran(char s[]) { int i,n,re=0; n=strlen(s); for(i=0;i<n;i++) { if(s[n-1-i]>='0' && s[n-1-i]<='9') re=re+(s[n-1-i]-'0')*pow(16,i); if(s[n-1-i]>='a' && s[n-1-i]<='f') re=re+(s[n-1-i]-'a'+10)*pow(16,i); if(s[n-1-i]>='A' && s[n-1-i]<='F') re=re+(s[n-1-i]-'a'+10)*pow(16,i); } return(re); }
C++ :
#include <cstdio> int main(void) { int d, sum=0; scanf("%x", &d); printf("%d\n", d); return 0; }
Pascal :
program e20150206; var s:string; i,len,cm,tmp:integer; sum:real; begin readln(s); len:= length(s); cm:=len-1; sum:=0; for i:=1 to len do begin tmp:=ord(s[i]); //writeln(tmp); case tmp of 65,97: sum:=sum+10*exp(ln(16)*cm); 66,98: sum:=sum+11*exp(ln(16)*cm); 67,99: sum:=sum+12*exp(ln(16)*cm); 70,100: sum:=sum+13*exp(ln(16)*cm); 71,101: sum:=sum+14*exp(ln(16)*cm); 72,102: sum:=sum+15*exp(ln(16)*cm); else sum:=sum+(tmp-48)*exp(ln(16)*cm); end; dec(cm); end; writeln(sum:0:0); end.
- 1
信息
- ID
- 475
- 时间
- 1000ms
- 内存
- 2MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者