zoukankan      html  css  js  c++  java
  • 加密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;
    }
    //此题要逆推,但之前最好利用已知的输出推出输入,这样有利于接题,使解题过程更加醒目、准确!!!
      

  • 相关阅读:
    Codeforces Round #366 (Div. 2)
    Codeforces Round #367 (Div. 2)
    带权并查集小练
    Codeforces Round #368 (Div. 2)
    Codeforces Round #396 (Div. 2)
    Codeforces Round #376 (Div. 2)
    工作流
    程序员之江湖感想
    工作流设计简介
    程序员常去的103个网站
  • 原文地址:https://www.cnblogs.com/xiaziteng/p/5358129.html
Copyright © 2011-2022 走看看