zoukankan      html  css  js  c++  java
  • YTU 2795: 编程题AB-侦察员的密码

    2795: 编程题AB-侦察员的密码

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 155  解决: 43

    题目描述

    侦察员小甲在被捕前在墙上写了两行文字(ASCII字符),其中包含了他获取的敌人密码,破译员琪琪经过3天3夜终于找到了破解方法,请编程帮助琪琪计算密码。
    计算密码方法:只保留两行文字的数字,然后对两行数字从左向右逐位相加,不足位补0,将每位所求和加70得到ASCII,再按照字符输出就是密码。
    例如:以下两行文字  
    <mary303>and<kitty739>
    !!76$$=(50){%;%}?>
    提取数字逐位相加
      3  0  3  7   3  9 
      7  6  5  0 
    =============
     10  6  8  7   3  9
    逐位加70得到ASCII序列
     80 76 78 77 73 79
    对应的密码是  PLNMIO

    输入

    两行字符序列(每行不超过80个字符)

    输出

    一行密码

    样例输入

    <mary303>and<kitty739>
    !!76$$=(50){%;%}?>

    样例输出

    PLNMIO

    你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    int main()
    {
        char a[80], b[80], c[80], d[80];
        int n = 0, m = 0;
        memset(a, '0', 80);
        memset(b, '0', 80);
        memset(c, '0', 80);
        memset(d, '0', 80);
        gets(a);
        gets(b);
        int i = 0;
        while (a[i] != '')
        {
            if (a[i] >= '0' && a[i] <= '9')
            {
                c[n] = a[i];
                n++;
            }
            i++;
        }
        i = 0;
        while (b[i] != '')
        {
            if (b[i] >= '0' && b[i] <= '9')
            {
                d[m] = b[i];
                m++;
            }
            i++;
        }
        if (n < m)n = m;
        for (i = 0; i < n; i++)
            cout << char(int((c[i]+d[i]-2*48)+70));
        return 0;
    }
    

  • 相关阅读:
    C++标准库vector以及迭代器
    (转)单链表的逆置
    (六)通过solr7的API实现商品的列表查询
    (八)solr7实现搜索框的自动提示并统计词频
    (四)DIH导入结构化数据
    (三)Solrj4到Solrj5的升级之路
    easyui validatebox 验证类型
    一、docker临时记录
    vip视频网站爬虫
    Intellij IDEA 4种配置热部署的方法
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989556.html
Copyright © 2011-2022 走看看