算数运算符
数学函数与常量
在Math类中,包含了各种各样的数学函数
- 平方根(sqrt)
double x=4;
double y=Math.sqrt(x);
System.out.print;n(y);//prints 2.0
幂运算(pow)
double y=Math.pow(x,a);
将y的值设置为x的a次幂()整数取余(floorMod)
floorMod(n,2);//n是偶数,该表达式为0;若是奇数,则为1
练习
数字2的朋友
我们定义判断一个 int
类型的数字是不是数字 2
的朋友的标准是,这个数字是不是由不同的两个 2
的幂次方数相加得到的。现在传入一个数字 n
请你判断它是否是数字 2
的朋友,如果是则返回 true
,否则返回 false
。
数字
1
是2
的零次幂
题目要求的是由不同的两个 2 的幂次方数相加得到的,注意到符合条件的数满足特点“其二进制形式有且仅有2个位为1,其余位均为0”,借助Integer.bitCount函数可以直接得到其二进制中为1的位数,解答如下:
1public class Solution {
2 public static boolean isFriend(int n) {
3 // write your code here
4 return Integer.bitCount(n)==2;
5 }
6}