当初拜读高德纳著作时提到数学运算的字符串的增删改查式表示,通过实践,果然能过做到.
很多编程语言都支持,%代表取余,/代表取整
- M%10^n可以看做取M的后n位
- M/10^n可以看做删除M的后n位
eg:
对一个输入的整数n,输出时从最低位开始每3位加上','。
如输入:12345678
输出:12,345,678
public class Solution {
public static void print(int n){
if((n/1000)>0){
print(n/1000);
System.out.print(",");
}
else{
System.out.print(n);
return;
}
useMath:
System.out.print(n%1000/100);
System.out.print(n/10%10);
System.out.print(n%10);
}
public static void main(String[] args){
print(1234);
}
}
以上useMath的label开始为对一个数的三位进行分解输出。
总结:
有时候我们了解底层原理,在使用其API时却总忍不住边思考原理边使用接口,好麻烦的说,不如把底层原理直接抽象成自己大脑的基础知识存储,这样做起工程来事半功倍。