算法小技巧

2021/11/21 22:10:40

本文主要是介绍算法小技巧,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

算法小技巧

一、数位和增量公式

int sums(int x)
    int s = 0;
    while(x != 0) {
        s += x % 10;
        x = x / 10;
    }
    return s;

数位和增量公式: 设 x的数位和为 s_x,x + 1的数位和为 s_x+1
1、当(x+1)⊙10=0 时: s_x + 1 = s_x - 8 ,例如19,数位和为:10
2、 当(x+1)⊙10 != 0 时: s_x + 1 = s_x + 1 ,例如1,2数位和分别为:1,2

//三元表达式写法
(x + 1) % 10 != 0 ? s_x + 1 : s_x - 8;

二、快速幂

public long quickMul(long a, long b){
        long res = 1;
        while (b > 0) {
            if ((b & 1) == 1) {
                res *= a;
            }
            a *= a;
            b >>= 1;
        }
        return res;
    }

三、快速乘

public long quickAdd(long a, long b){
        long res = 0;
        while (b > 0) {
            if ((b & 1) == 1) {
                res += a;
            }
            a += a;
            b >>= 1;
        }
        return res;
    }

在这里插入图片描述



这篇关于算法小技巧的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程