vijos 1201高低位交换
本题谁都会做,在这里分析一下各个方法。
1.按照说明模拟,不再累述。
2.pascal同学有内置函数swap,但要注意数据类型了,longint不够2^32,int64不符合函数要求,只能用cardinal。
3.最有水平的解法,位运算(n shr 16) or (n shl 16) 就是结果了。
View Code
1 program p1201(input,output);
2 var
3 x:dword;
4 begin
5 assign(input,'p1201.in');reset(input);
6 assign(output,'p1201.out');rewrite(output);
7 readln(x);
8 writeln((x<<16)or(x>>16));
9 close(input);
10 close(output);
11 end.