• 加密2201308012035.txt


    加密2 

    Time Limit:1000MS Memory Limit:30000KB
    Total Submit:181 Accepted:105

    Description

    对一个整数(32位无符号整数)进行规则如下的加密:
    1. 低16位和高16位互换
    2. 此时的低16位按位取反
    3. 此时的高16位与低16位进行异或运算,结果存储到高16位

    现在根据加密后的整数,求出加密前的整数的16进制形式.

    Input

    输入有多case,每个case一行,且只有一个整数

    Output

    对于每个case输出一个整数(16进制形式),即加密前的整数。

    Sample Input

    4294901759

    Sample Output

    1


    hint:十六进制输出时请使用大写字母(A,B...)


    #include <stdio.h>
    int main()
    {
        unsigned long int n,k,l,m,s;
        while(scanf("%d",&n)!=EOF)
        {
         k=m=n;
         n=n>>16;
         n=n<<16;
            k=k<<16;
            l=k^n;
            m=~m;
            m=m<<16;
            k=l>>16;
            s=k+m;
            printf("%X ",s);
        }
        return 0;
    }
    //此题要逆推,但之前最好利用已知的输出推出输入,这样有利于接题,使解题过程更加醒目、准确!!!
      

  • 相关阅读:
    消除 transition 闪屏
    解决audio和video在手机端无法自动播放问题
    css3让图文不能复制
    改变placeholder的字体颜色大小
    css3实现水平、垂直居中
    link 和@import 的区别
    JSON与对象的相互转换
    indexOf与includes的比较
    DOM盒子模型
    关于Meta标签的一些知识
  • 原文地址:https://www.cnblogs.com/xiaziteng/p/5358129.html
Copyright © 2020-2023  润新知