《算法笔记》第3章 入门篇(1)——入门模拟

115 阅读1分钟

3.3 图形输出

知识点: 整数除以2进行四舍五入的操作可以通过判断它是否是奇数来解决,以避免浮点数的介入。

int N;
if(N%2==1){
    N=N/2+1;
}else{
    N/=2;
}

3.4 日期处理

知识点: 判断是否是闰年:

boolean isRunYear(int year){
    return (year%4==0&&year%100!=0)||(year%400==0);
}

3.5 进制转换

知识点:

  1. P进制数x转换为十进制数y:
int y=0,product=1;
while(x!=0){
    y=y+(x%10)*product;
    x/=10;
    product*=P;
}
  1. 将十进制数y转换为Q进制数z(除基取余法):
int[] temp=new int[50];
int num=0;//位数
do{
    temp[num++]=y%Q;
    y/=Q;
}while(y!=0); //循环结束后,temp中保留的数是Q进制数z的倒序 

3.6 字符串处理

java字符串反转的API:(比如反转String s)

String sReverse=new StringBuffer(s).reverse().toString();