常见数学操作的工程化转化

字数 163阅读 21

当初拜读高德纳著作时提到数学运算的字符串的增删改查式表示,通过实践,果然能过做到.

很多编程语言都支持,%代表取余,/代表取整

  • 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时却总忍不住边思考原理边使用接口,好麻烦的说,不如把底层原理直接抽象成自己大脑的基础知识存储,这样做起工程来事半功倍。

推荐阅读更多精彩内容