这周主打算法!基础训练题写起来…
基础的除了VIP都写完了,收获到很多!
比如说:01字串,我目前只知道两种写法,一种是除余来得出五个位置上的0或1;一种是5个for循环。
第一种:
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 32; i++) {
System.out.print(i%32/16);
System.out.print(i%16/8);
System.out.print(i%8/4);
System.out.print(i%4/2);
System.out.println(i%2);
}
}
}
第二种:
public class Main {
public static void main(String[] args) {
for (int i= 0; i < 2; i++) {
for (int j= 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
for (int l = 0; l < 2; l++) {
for (int m = 0; m < 2; m++) {
System.out.printf("%d%d%d%d%d\n",i,j,k,l,m);
}
}
}
}
}
}
}
还有:字母图形,让我想将Math方法在此总结一下:
/**
*Math.sqrt()//计算平方根
*Math.cbrt()//计算立方根
*Math.pow(a,b)//计算a的b次方
*Math.max(a,b);//计算最大值
*Math.min(a,b);//计算最小值
*Math.abs();//计算绝对值
*Math.ceil(a);//取不小于a的最小整数,加(int)强制转换,直接去掉小数点位,都不行时,最好用的方法
*Math.floor();//向下取整
*Math.round();//四舍五入
*Math.random();//随机取0~1的数,
*Math.random()*2+1;//取>=1 或 <=3的随机double类型数
*/
基础练习题里的for循环和数组的使用比较多,完全死死得掌握这些,才能更好的去完成下面进阶的算法训练,进阶第一天就明显感觉到难度上来了,不行,我先去多研究研究,理解理解!!!