Wacmian 数字
来源:互联网 发布:寻找牛股共性 编程 编辑:程序博客网 时间:2024/06/11 03:35
描述
在假设的Wacmahara无人沙漠里,一个非普通人组成的部落被发现了。Wacmians的每个手上仅有两个手指和一个拇指,并且他们发明了自己的数字系统。他们使用的数字和用来表示数字的符号都很奇特,但是人类学家已经能够
用下面的方法描述它们:
% -- 0
) -- 1
~ -- 2
@ -- 3
? -- 4
\ -- 5
$ -- -1 (没错,他们甚至有负数)
如你所愿,他们的系统是以6为基础的,每位上的数值达到6就像该位的左边进位,如同随后的例子:
)@% 表示 1*6^2+3*6+0 = 36+18+0 = 54
?$~~ 表示 4*6^3+(-1)*6^2+2*6+2 = 864-36+12+2 = 842
$~~ 表示 (-1)*6^2+2*6+2 = -36+12+2 = -22
你的任务是把Wacmian数字解释成标准的10进制数字。
输入
输入包括Wacmian数字,每行一个。每个数字由1至10个有顺序的Wacmian数字组成。一个单独的#占用一行,它标志输入结束。
输出
输出相应的是进制数字,每行一个。
样例输入
)@%
?$~~
$~~
%
#
?$~~
$~~
%
#
样例输出
54
842
-22
0
842
-22
0
#include<iostream>#include<string>#include<cmath>using namespace std;int wacnumlist(char s){ switch(s){ case '%':return 0; case ')':return 1; case '~':return 2; case '@':return 3; case '?':return 4; case '\\':return 5; case '$':return -1; default:exit(-1); }}int wacnumconvert(string s){ int sum=0,i,j; for(j=0,i=s.length()-1;i>=0;i--,j++) sum+=int(wacnumlist(s[j])*pow(6.0,i)); return sum;}int main(){ string wacnum; while(cin>>wacnum && wacnum!="#") cout<<wacnumconvert(wacnum)<<endl; return 0;}
0 0
- Wacmian 数字
- 数字
- 数字
- 数字:
- 数字
- 数字
- 数字
- 数字
- 数字
- 数字
- 数字
- 数字
- 数字
- 数字
- 【数字】--数字
- 数字数字钟课程设计
- 数字数字钟课程设计
- 数字数字钟课程设计
- hdu 1429 bfs+二进制状态压缩
- Excel文件管理插件——方便好用的Excel小帮手
- HashMap vs ConcurrentHashMap — 示例及Iterator探秘
- 探究内存泄露—Part1—编写泄露代码
- His 程序的阅读1
- Wacmian 数字
- java小于10的数字加0,用于月日
- 探究内存泄露—Part2—分析问题
- MySQL存储过程详解
- linux Makefile obj-m obj-y ..
- Google lmctfy 1.0 - Introduction
- Android应用换肤
- pku1151 atlantis
- 修改V4L2驱动,破解.so文件