zoukankan      html  css  js  c++  java
  • 1048. 数字加密(20)

    本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12;对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。这里令个位为第1位。

    输入格式:

    输入在一行中依次给出A和B,均为不超过100位的正整数,其间以空格分隔。

    输出格式:

    在一行中输出加密后的结果。

    输入样例:

    1234567 368782971
    

    输出样例:

    3695Q8118
    
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include<string.h>
     4 
     5 char a[101];
     6 char b[101];
     7 int main()
     8 {
     9     int i;
    10     int lena,lenb,lenc;
    11     int ji,sum;
    12     scanf("%s%s",a,b);
    13     lena = strlen(a);
    14     lenb = strlen(b);
    15     if( lena-lenb>0 ) //如果a比b长,在b前补'0'
    16     {
    17         lenc = lena-lenb;
    18         for( i=lenb-1; i>=0; i--)
    19             b[i+lenc] = b[i];
    20         for( i=0; i<lenc; i++)
    21             b[i] = '0';
    22     }
    23     else if( lenb-lena>0) //如果b比a长,在a前补'0'
    24     {
    25         lenc = lenb-lena;
    26         for( i=lena-1; i>=0; i--)
    27             a[i+lenc] = a[i];
    28         for( i=0; i<lenc; i++)
    29             a[i] = '0';
    30     }
    31     lena = strlen(a);
    32     ji=1; //奇数标志,等于1表示奇数位
    33     for( i=lena-1; i>=0; i--)
    34     {
    35         if( ji )
    36         {
    37             sum =  (( a[i]-'0')+( b[i]-'0'))%13;
    38             if( sum==12 )
    39                 b[i]='K';
    40             else if(sum==11)
    41                 b[i]='Q';
    42             else if( sum==10)
    43                 b[i]='J';
    44             else b[i]= sum+'0';
    45             ji = 0;
    46         }
    47         else
    48         {
    49             sum = b[i]- a[i];
    50             if( sum<0) sum += 10;
    51             b[i]= sum+'0';
    52             ji = 1;
    53         }
    54     }
    55     puts(b);
    56     return 0;
    57 }
    在这个国度中,必须不停地奔跑,才能使你保持在原地。如果想要寻求突破,就要以两倍现在速度奔跑!
  • 相关阅读:
    多线程
    带缓存的输入输出流
    输入输出流I/O2
    输入输出流I/O
    课堂所讲整理:包装&工具类
    课堂所讲整理:Set和Map
    Java泛型和链表
    Java继承_接口练习题
    P235 实战练习(集合类)
    P188 实战练习(父类和子类)
  • 原文地址:https://www.cnblogs.com/yuxiaoba/p/8520515.html
Copyright © 2011-2022 走看看