zoukankan      html  css  js  c++  java
  • 长理ACM 7-密码破译(闫博钊)

    /*
    //题目标题:
    *密码破译(闫博钊)
    
    //题目描述:
    *某组织欲破获一个外星人的密码,密码由一定长度的字串组成。此组织拥有一些破译此密码的长度不同的钥匙,若两个钥匙的长度之和恰好为此密码的长度,
    *则此密码被成功破译。现在就请你编程找出能破译此密码的两个钥匙。
    
    //输入描述:
    *输入第一行为钥匙的个数N(1≤N≤5000) 输入第二行为密码的长度 以下N行为每个钥匙的长度
    
    //输出描述:
    *若无法找到破译此密码的钥匙,则输出仅1行0 。 若找到两把破译的钥匙,则输出有两行,分别为两把钥匙的编号。 若有多种破译方案,则只输出一种即可。
    
    //样式输入:
    10
    80
    27
    9
    4
    73
    23
    68
    12
    64
    92
    24
    
    //样式输出:
    6
    7
    */
    
    #include <stdio.h>
    #include <string.h>
    #define MAXN 5000 + 10
    int a[MAXN];
    
    int main()
    {
        int m, n, i, j;
        memset(a, 0, sizeof(a));    //数组初始化,头文件string.h
        scanf("%d
    %d
    ", &m, &n);
        for(i = 1; i < m; i++)
        {
            scanf("%d
    ", &a[i]);
        }
        for(i = 1; i < m; i++)
            for(j = i+1; j < m; j++)
                if(n == (a[i] + a[j]))
                    printf("%d
    %d
    ", i, j);
        return 0;
    }
    
    //源代码
    #include<stdio.h>
    #define MAXN 5000 + 10
    int s[MAXN];
    
    int main()
    {
        int n,len,a=0,b=0,i,j;
        scanf("%d
    ",&n);
        scanf("%d
    ",&len);    //密码的长度len
        for(i=0;i<n;i++)
            scanf("%d
    ",&s[i]);
        for(i=0;i<n-1;i++)
            for(j=i+1;j<n;j++)
                if((s[i]+s[j])==len)
                {
                    a=i+1;
                    b=j+1;
                    break;    //跳出该循环结构
                }
        if(a!=0&&b!=0)
            printf("%d
    %d
    ",a,b);
        else
            printf("0");    //若无法找到破译此密码的钥匙,则输出仅1行0
        return 0;
    }
    亲爱的读者:如果觉得本文对你有所帮助,请点击推荐,分享给其他人!
  • 相关阅读:
    动手动脑,11.9
    《构建之法》读书笔记
    字符加密
    字符动手动脑
    河北重大技术需求开发第七版开发第五天
    河北重大技术需求开发第七版开发第四天
    河北重大技术需求开发第七版开发第三天
    河北重大技术需求开发第七版开发第二天
    hbase基本操作体会
    河北重大技术需求开发第七版开发第一天
  • 原文地址:https://www.cnblogs.com/zhuangwei/p/5249211.html
Copyright © 2011-2022 走看看