主题:[原创]请高手帮忙作个简单的算法器
我分析了一段简单的算法,但是不会写算法器,请人用任何语言写个算法器.
算法器设计的思路是这样的:
1、假如我有6个视频片段 他们的播放时间就是
str="12.34-34.23-45-67.8-98.98-78",我做个输入框用来输入它们并用-隔开.
另外我做个输入框,用来输入key值,key值随意,比如key="2#343&!~)KH*:?><)*(&";
2、写个函数逐个把key的每个字翻译成unicode值,然后求和,这里相加等于1070
3、把str的每个字符逐一(包括-)翻译成一个个unicode值,翻译出来的每个unicode值再一一加上前面的1070,组成一串新的unicode值
4、再把新的unicode值翻译成ASCII码(需要得到的就是这个ASCII码)
有人会写吗?用vb都可以,请人帮忙呀!不写的不要回复呀!
附:下面是原算法程序算法,请反过来做个算法机求mystr的ASCII值。
var cname = "2#343&!~)KH*:?><)*(&"; //key值
var mystr = "ѠѡџќѣѠћџѡџѥќѢѢћѢџѢќўўћѥѠўќѤѦћѡџѥќџѠћѠѧѦќѣѠћѡѠѥќѧѠ";//设置各视频播放时间。这里就是ASCII码,就是需要算出来的结果。
function onset(str) {
at_Array = str.split("-");//-线分割str 得到数组
var _local2 = at_Array.length;//影片个数
var _local1 = 0;
while (_local1 < _local2) {
comp_Array[_local1] = 0;
satime = satime + int(at_Array[_local1]);
_local1++;
}
sntime = satime;//所有影片播放的总时间。
}
function onpswchar(key, bl, n0) {//翻译key得到它unicode值。
var _local2 = 0;
var _local3 = "";
var _local4 = "";
var _local5 = key.length;//获取串的长度,本程序长度数是20位.
var _local10;
var _local1 = 1;
while (_local1 <= _local5) {//循环挨个处理每一个字符
_local3 = substring(String(key), _local1, 1);//用substring从开始位来截取字符,逐一获取每个字符
if (bl) {//参数这个程序里面是固定的true
_local2 = _local2 + Number(_local3.charCodeAt(0));//参数key逐个翻译成unicode值
} else {
_local2 = Number(_local3.charCodeAt(0) + n0);//n0这个参数是一个校正值 本程序传递的是0不起作用
if (_local1 == 1) {
_local4 = String(_local2);
} else {
_local4 = _local4 + ("," + _local2);
}
}
_local1++;
}
var _local9 = ((bl == true) ? (_local2) : (_local4));//根据bl这个参数决定是返回那个结果,这里是返回_local2
return(_local9);
}
function ondestr(str, key) {//根据mystr和key的unicode值来确定各视频时间
var _local5 = str.length;//获取串的长度 此处是 见下面mystr长度
var _local3 = "";
var _local4 = onpswchar(key, true, 0);//调用上面的函数得出结果 1070
var _local1 = 1;
while (_local1 <= _local5) {//循环处理每个字符串
var _local2 = substring(String(str), _local1, 1);//依次获取n个字符串中的每一个
_local3 = _local3 + String.fromCharCode(Number(_local2.charCodeAt(0) - _local4));//计算每个字符的unicode减去key值1070 ,结果被转换成字符串,然后拼接字符串到 _local3中去
_local1++;
}
onset(_local3);//显示视频播放时间
e-mail:luo.wei@yahoo.com.cn
算法器设计的思路是这样的:
1、假如我有6个视频片段 他们的播放时间就是
str="12.34-34.23-45-67.8-98.98-78",我做个输入框用来输入它们并用-隔开.
另外我做个输入框,用来输入key值,key值随意,比如key="2#343&!~)KH*:?><)*(&";
2、写个函数逐个把key的每个字翻译成unicode值,然后求和,这里相加等于1070
3、把str的每个字符逐一(包括-)翻译成一个个unicode值,翻译出来的每个unicode值再一一加上前面的1070,组成一串新的unicode值
4、再把新的unicode值翻译成ASCII码(需要得到的就是这个ASCII码)
有人会写吗?用vb都可以,请人帮忙呀!不写的不要回复呀!
附:下面是原算法程序算法,请反过来做个算法机求mystr的ASCII值。
var cname = "2#343&!~)KH*:?><)*(&"; //key值
var mystr = "ѠѡџќѣѠћџѡџѥќѢѢћѢџѢќўўћѥѠўќѤѦћѡџѥќџѠћѠѧѦќѣѠћѡѠѥќѧѠ";//设置各视频播放时间。这里就是ASCII码,就是需要算出来的结果。
function onset(str) {
at_Array = str.split("-");//-线分割str 得到数组
var _local2 = at_Array.length;//影片个数
var _local1 = 0;
while (_local1 < _local2) {
comp_Array[_local1] = 0;
satime = satime + int(at_Array[_local1]);
_local1++;
}
sntime = satime;//所有影片播放的总时间。
}
function onpswchar(key, bl, n0) {//翻译key得到它unicode值。
var _local2 = 0;
var _local3 = "";
var _local4 = "";
var _local5 = key.length;//获取串的长度,本程序长度数是20位.
var _local10;
var _local1 = 1;
while (_local1 <= _local5) {//循环挨个处理每一个字符
_local3 = substring(String(key), _local1, 1);//用substring从开始位来截取字符,逐一获取每个字符
if (bl) {//参数这个程序里面是固定的true
_local2 = _local2 + Number(_local3.charCodeAt(0));//参数key逐个翻译成unicode值
} else {
_local2 = Number(_local3.charCodeAt(0) + n0);//n0这个参数是一个校正值 本程序传递的是0不起作用
if (_local1 == 1) {
_local4 = String(_local2);
} else {
_local4 = _local4 + ("," + _local2);
}
}
_local1++;
}
var _local9 = ((bl == true) ? (_local2) : (_local4));//根据bl这个参数决定是返回那个结果,这里是返回_local2
return(_local9);
}
function ondestr(str, key) {//根据mystr和key的unicode值来确定各视频时间
var _local5 = str.length;//获取串的长度 此处是 见下面mystr长度
var _local3 = "";
var _local4 = onpswchar(key, true, 0);//调用上面的函数得出结果 1070
var _local1 = 1;
while (_local1 <= _local5) {//循环处理每个字符串
var _local2 = substring(String(str), _local1, 1);//依次获取n个字符串中的每一个
_local3 = _local3 + String.fromCharCode(Number(_local2.charCodeAt(0) - _local4));//计算每个字符的unicode减去key值1070 ,结果被转换成字符串,然后拼接字符串到 _local3中去
_local1++;
}
onset(_local3);//显示视频播放时间
e-mail:luo.wei@yahoo.com.cn