-
两个数交换
解法一:添加一个中间变量即可完成(代码如下图一:)
解法二:异或法解决此问题(图二、三:)
-
2的指数
0000 0010 0000 0001
0000 0100 0000 0011
0000 1000 0000 0111
0001 0000 0000 1111
提示:所有2的指数:n&(n - 1) == 0
解法:根据提示来完成该题(if语句):
3.给定成绩,判断用户成绩的档次
100:提示满分
90~100:优秀
80~100:良好
70~80:还可以,多多努力
60~70:合格
0~60:不合格
0:鸡蛋
解法:本题继续采用if语句:
4.有1、3、5、7、9组成的所有不重复的四位数之和是多少?( B )
A、666700 B、666600
C、678860 D、665500
解法:
个位上是1的排序共有(432)==24种
因此,个位上为1的所有数字之和为:(1+3+5+7+9)* 24* 1=600
十位上为1的所有数字之和为:(1+3+5+7+9)* 24* 10=6000
…(以此类推)
最后的和为:600+6000+60000+600000==666600
5.在控制台上,输入如下信息
a a^2 a^3
1 1 1
2 4 8
3 9 27
解法:根据题意进行一个输出即可
6.下列哪一项是“4是奇数或-9为正数”的否定( C )
A、4是偶数或-9不是负数
B、4是奇数或-9不是负数
C、4是偶数和-9是负数
D、4是奇数和-9不是负数
7.如果A是“10110110”,B是“11100000”,C是“10100000”,下面成立的是( D )
A、 C=A|B
B、 C=~A
C、 C=~B
D、 C=A&B
解法:
A、 C=A|B (或运算符)
10110110
11100000
-------------
11110110
B、 C=~A(按位取反)
~10110110
--------------
01001001
C、 C=~B(按位取反)
~11100000
---------------
00011111
D、 C=A&B(与运算符)
10110110
11100000
-------------
10100000
8.判断一个整数是奇数还是偶数,至少有两种方式实现(位运算已经讲解的话)
方法一(非位运算):
方法二(位运算):
9.求矩形的面积和周长
a = int(input("请输入矩形的长:"))
b = int(input("请输入矩形的宽:"))
print("该矩形的面积为:%s,该矩形的周长为:%s"%(a*b,(a+b)*2))
10.根据天数(从控制台上输入)计算周数和剩余的天数
day = int(input("请输入天数:"))
week = int (day / 7)
a = int (day%7)
print("周数:%s,剩余天数:%s"%(week,a))
11.根据已知圆的半径radius(从控制台上输入),求其面积和周长(PI可以使用Math.PI,也可以使用3.14)
n = int(input("请输入圆的半径:"))
PI = 3.1415
print("圆的周长为:%s"%(2*n*PI))
print("圆的面积为:%s"%(PI*n*n))