算法

太古盟约 2002-06-25 10:00:26
怎么实现输入a后变成z,输入b后变成y,输入c后变成x,.....输入z后变成a?
...全文
67 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiushuiwuhen 2002-06-25
  • 打赏
  • 举报
回复
<input onkeypress=trans()>
<script>
function trans(){
with(window.event){
if(keyCode>96&&keyCode<123)keyCode=219-keyCode
if(keyCode>64&&keyCode<91)keyCode=155-keyCode
}
}
</script>
太古盟约 2002-06-25
  • 打赏
  • 举报
回复
to: fokker(独孤龙)非常感谢
fokker 2002-06-25
  • 打赏
  • 举报
回复
a和z,b和y,c和x,.....的ascii码相加都是219,所以转换的时候用219减去字符s的ascii码s.charCodeAt(0),就能得到你想要的目标字符的ascii码,最后将这个ascii码使用String.fromCharCode()转化成字符。
上面的用法只是针对小写字符,转换大写字符的原理和这个一样,他们的和是155。 你要用的话自己做一些判断,分别用不同的数相减就行了。
太古盟约 2002-06-25
  • 打赏
  • 举报
回复
to: minitigger(阿修罗十三之雪)
outputChar='z'-inputChar+'a' 还是你的方法简单
to: fokker(独孤龙)
String.fromCharCode(219-s.charCodeAt(0))
也给解释一下吧
太古盟约 2002-06-25
  • 打赏
  • 举报
回复
to seabell(百合心) :
实现了但是我对substring 的用法还是不清楚。
Syntax

sSubstring = object.substringData(nOffset, nCount)
Parameters

nOffset Required. Integer that specifies the offset from which to start.
nCount Required. Integer that specifies the number of characters to extract.

substring是怎么取的值?例如输入a ,num=25,chars.substring(25,26),取了z.我想让num=event.keyCode-65;那么chars.substring(num,???) 怎么写?可能这么写不太对,给我讲讲吧
seabell 2002-06-25
  • 打赏
  • 举报
回复
未区分大小写
<script>
chars="abcdefghijklmnopqrstuvwxyz";
function convert(obj)
{
if(event.keyCode>64&&event.keyCode<91)
{num=25-(event.keyCode-65);
obj.value=obj.value.substring(0,obj.value.length-1)+chars.substring(num,num+1);
}
}
</script>
<input onkeyup=convert(this)>
seabell 2002-06-25
  • 打赏
  • 举报
回复
未区分大小写
<script>
chars="abcdefghijklmnopqrstuvwxyz";
function convert(obj)
{
if(event.keyCode>64&&event.keyCode<91)
{num=25-(event.keyCode-65);
obj.value=obj.value.substring(0,obj.value.length-1)+chars.substring(num,num+1);
}
}
</script>
<input onkeyup=convert(this)>
fokker 2002-06-25
  • 打赏
  • 举报
回复
function func(s){
return String.fromCharCode(219-s.charCodeAt(0))

}
minitigger 2002-06-25
  • 打赏
  • 举报
回复
outputChar='z'-inputChar+'a'
minitigger 2002-06-25
  • 打赏
  • 举报
回复
请讲解一下onKeydown,onKeyup,onKeypress的区别吧,谢谢了。
seabell 2002-06-25
  • 打赏
  • 举报
回复
qiushuiwuhen(秋水无恨)的方法很好,又学了一招,开始用onkeydown总是不行,原来应该用onkeypress啊
seabell 2002-06-25
  • 打赏
  • 举报
回复
楼主:如下
.substring(index1,index2)中,index1和index2分别指取子串的起始位置,从0开始
<script>
chars="abcdefghijklmnopqrstuvwxyz";
function convert(obj)
{
if(event.keyCode>64&&event.keyCode<91)
{
num=event.keyCode-65;
obj.value=obj.value.substring(0,obj.value.length-1)+chars.substring(25-num,26-num);
}
}
</script>
<input onkeyup=convert(this)>
实验题目 设计和实现关于内存管理的内存布局初始化及内存申请分配、内存回收等基本功能操作函数,尝试对用256MB的内存空间进行动态分区方式模拟管理。内存分配的基本单位为1KB,同时要求支持至少两种分配策略,并进行测试和对不同分配策略的性能展开比较评估。 最佳适应算法(Best Fit):    它从全部空闲区中找出能满足作业要求的、且大小最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表(空闲区链)中的空闲分区要按从小到大进行排序,自表头开始查找到第一个满足要求的自由分区分配。该算法保留大的空闲区,但造成许多小的空闲区。因为它要不断地找出能满足作业要求的、且大小最小的空闲分区,所以比较比较频繁。但是,对内存的利用率高 循环首次适应算法(Next Fit):    该算法是首次适应算法的变种。在分配内存空间时,不再每次从表头(链首)开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。比较次数少于最佳适应算法(Best Fit),内存利用率低于最佳适应算法(Best Fit)。

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧