算法 简单密码

题目描述

密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。

假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。

他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,

tips:注意红色部分不是字符串,是a-2,b-2,c-2。。。这个坑爹的题目

声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。

输入描述:

输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾

输出描述:

输出渊子真正的密文

示例1

输入

复制

YUANzhi1987

输出

复制

zvbo9441987

参考讨论:链接:https://www.nowcoder.com/questionTerminal/7960b5038a2142a18e27e4c733855dac?f=discussion来源:牛客网

#include<iostream>

#include<string>

using namespace std;

const string dict1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

const string dict2="bcdefghijklmnopqrstuvwxyza22233344455566677778889999";

char Char_Change(char a){

    for(int i=0;i<dict1.size();i++)

        if(dict1[i]==a) return dict2[i];

    return a;

}

int main(){

    //string data="YUANzhi1987";

    string data;

    while(getline(cin,data)){

        for(int i=0;i<data.size();i++)

            data[i] = Char_Change(data[i]);

        cout<<data<<endl;

    }

    return 0;

}

原文地址:https://www.cnblogs.com/liuruoqian/p/11671034.html

时间: 2024-10-24 19:09:57

算法 简单密码的相关文章

[华为机试练习题]4.简单密码破解

题目 描述: 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了.哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全. 假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码. 他是这么变换的,大家都知道手机上的字母: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6,

若干排序算法简单汇总(一)

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/35819279 作者:小马 从题目看,首先不是全部是若干.排序算法很多,我个人的能力也有限,不可能都讲到.另外,是简单汇总,是希望能用最简单的代码,最简短的语言说明问题,不搞太多理论分析. 就像前面说的,排序算法有很多,而且不存在哪一种最不好,哪一种最好这样的说法.根据用途不同选择最适合的就行了.不过仅从时间复杂度来看,基本上有两种,一种是O(n^2), 一种是O(nlogn).

Ubuntu 设置简单密码,复杂度太高

Ubuntu 中创建的用户密码复杂度很高,如果想设置1234 ,或者与账户名相同的密码时,SystemSetting 中是不可以设置的. 可以通过简单的命令来设置 其中 anyongfei 是账户名 sudo passwd anyongfei Ubuntu 设置简单密码,复杂度太高,布布扣,bubuko.com

若干排序算法简单汇总(二)

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/36706131 作者:小马 一希尔排序 上一篇讲到的直接插入排序,时间复杂度O(n^2). 请在脑海里想一下它的过程.如果一个序列本来就是有序的,对它排序的时间复杂度是O(n).所以当序列基本有序时,插入排序排序的效率大大提高,因为减少了移动的动作. 另外,直接插入排序还有一个特点,当n比较小时,它的效率比较高. 希尔排序正是基于上面两个思想做的一种改进算法.它先将整个序列分成若干

hdu 1312 DFS算法简单题

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 此题与油田那题很像是练习深搜的好题,题意是从"@"开始,遍历整个图,找到连接的 "."有多少个 但要考虑变化,简单处理下就行了,主要是斜角的不要了,而且判断结束方式也不一样 具体看代码吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

AC日记——简单密码 openjudge 1.7 10

10:简单密码 总时间限制:  1000ms 内存限制:  65536kB 描述 Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文.比如字符A用F来代替.如下是密文和明文中字符的对应关系. 密文A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 明文V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 你的任务是

算法笔记_071:SPFA算法简单介绍(Java)

目录 1 问题描述 2 解决方案 2.1 具体编码   1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求含负权图的单源最短路径,且效率较高.(PS:引用自百度百科:spfa是求单源最短路径的一种算法,它还有一个重要的功能是判负环(在差分约束系统中会得以体现),在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛

举例说明为什么不能设置简单密码

举例说明为什么不能设置简单密码,比如john可以暴力破解本地密码,在centos中,假如我设置了如下几个用户和密码 root/12345 user1/mother user2/sister user3/scott user4/tiger 安装john后,用一个password.lst就很容易破解你设置的简单密码,只要这个password.lst中包含了这些最简单的密码,那肯定就把你的密码破解了. # yum install gcc make auto autoconf -y # cd # wge

简单密码引起的血案

作者:田逸([email protected]) 正在努力板砖,一阵急促的电话铃想起,同事紧急告知,论坛访问很慢,其它技术人员已经折腾了半天找不到原因,需要尽快处理. 首先简单了解了一些情况,运营的同事说前几天有管理员帐号被泄漏(咋泄漏的?设置简单密码,真像把后备箱那块砖拿过去拍他),被人用工具自动发帖,好家伙,一晚上发了上万个帖子.上午在qq群里看他们聊天,说费了很多时间才把这些垃圾帖子删掉.论坛的discuz程序没有做任何改动,怀疑是被恶意攻击.论坛不能访问已经大半天,来不及详细了解情况,挽