首页 > 代码库 > 将数字映射到字母上?.xml
将数字映射到字母上?.xml
<style
type="text/css">
pre{
line-height:1;
color:#800080;
background-color:#c0dcc0;
font-size:16px;}.sysFunc{color:#000080;font-style:italic;font-weight:bold;}
.selfFuc{color:#901d36;}
.bool{color:#f70483;}
.condition{color:#000080;font-weight:bold;}
.key{color:#800080;}
.var{color:#800000;font-style:italic;}
.Digit{color:#68084f;font-weight:bold;}
.includePre{color:#800080;}
.operator?{color:#ff00ff;font-weight:bold;}
</style>
映射成?A1------A20
??????????????B1------B20 ??????????????。。。 ??????????????Z1------Z20
这种形式
?
数字从0开始编号:
则:??0----19???对应??A1-----A20
??????????20---39??对应?B1-----B20 ? ? ????????#define?CHAR_NUM?20 ????????int??nIndex=300;???? ???????//?确保?i??处在?0-----CHAR_NUM*26-1?之间 ????????int?i=nIndex%(CHAR_NUM*26); ????????//数字所对应的字母位?表示?该数字所对应的字母之前有nCharPosition个字母,?而该位置的字母为:?0x41+nCharPosition ????????int??nCharPosition=?i/CHAR_NUM;?????? ???????//数字所对应的数字位??范围【1,CHAR_NUM】 ????????int?nNum=i%CHAR_NUM+1; ??????
????#define?CHAR_NUM?20?? ?????? ????int??nIndex=300;?? ?????? ????//?确保?i??处在?0-----CHAR_NUM*26-1?之间?? ????int?i=nIndex%(CHAR_NUM*26);?? ????//数字所对应的字母位?表示?该数字所对应的字母之前有nCharPosition个字母,?而该位置的字母为:?0x41+nCharPosition?? ????int??nCharPosition=?i/CHAR_NUM;?? ????char?p=0x41+nCharPosition;?? ?????? ????//数字所对应的数字位??范围【1,CHAR_NUM】?? ????int?nNum=i%CHAR_NUM+1;?? ? ?数字从1开始编号??:?
则:??1----20???对应??A1-----A20
??????????21---40??对应?B1-----B20 ?
上述程序是从0开始编码的,??而此时的数字是从1开始编码,如何修改程序?
因为?1----20???对应??A1-----A20
??????????21---40??对应?B1-----B20
的规律不好找,??因此我们要想个方法,即利用上个规律,又能从1开始编码。
?
方法:
???????1)?先将数字进行对应
1---20???对应为0---19???
???????2)?然后应用上个程序??将0-19??对应为A1-A20??即是将?原序号的?1-20--对应为A1-A20 ?
????#define?CHAR_NUM?20?? ?????? ????//从1?开始编号?? ????int??nIndex=300;?? ?????? ????//nIndex?从0开始编号时,所对应的数值?? ????int??nCorrespondingIndex=nIndex-1;?? ?????? ?????? ????///////////////////////////////?映射规则相同??///////////////////////////////////////////?? ?????? ????//?确保?i??处在?0-----CHAR_NUM*26-1?之间?? ????int?i=nCorrespondingIndex%(CHAR_NUM*26);?? ????//数字所对应的字母位?表示?该数字所对应的字母之前有nCharPosition个字母,?而该位置的字母为:?0x41+nCharPosition?? ????int??nCharPosition=?i/CHAR_NUM;?? ????char?p=0x41+nCharPosition;?? ?????? ????//数字所对应的数字位??范围【1,CHAR_NUM】?? ????int?nNum=i%CHAR_NUM+1;?? ?
总结:
????????????数字从1开始编号,对其进行映射时,规则不好找
????????????这时改怎么办?
????????????转换下思路,我们先不找规律,?而是先将数字处理下,?将其等价映射为另一个序列。
????????????如果,这个序列的规律很好找,则我们直接使用这个序列的规律即可。
???????????
????????????这种,间接解决问题的策略是一种什么思想呢?
????????????我想,应该是处理之前的转换思想,对数据预处理,?将难处理的问题?等价转换为相对容易处理的问题
?
本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。
将数字映射到字母上?.xml
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。