Java 上使用 Long 执行基本操作的最佳方法

Best way on Java to perform a basic operation with Long

我有一个 10 位数的 Long 数,我现在想知道执行此检查的最佳方法。我将用一个例子来解释它:

如果我们有号码 3456789123:

3 will be multiplied by 10.
4 will be multiplied by 9.
5 will be multiplied by 8.
6 will be multiplied by 7.
...
2 will be multiplied by 2.
The last 3 will be multiplied by 1.

因此,将返回此操作的结果:

(3*10) + (4*9) + ... + (2*2) + (1*1)

这非常简单直接,创建数组并相乘,但我正在努力寻找最佳解决方案。

有什么提示吗?

谢谢

       for (int i = 0; i < 10; i++) { 

           long curr = x % 10  * (i+1);
           x = x / 10;
           System.out.println(curr);
           //do something with curr   
       }

重复除以10取最右边的数字,乘以当前权重的迭代器

这可能对您有所帮助

long weight=1;
long finalSum=0;
while(number>0){
    long a=number%10;
    finalSum+=(a*weight);
    weight++;
    number/=10;
}
if((finalSum%11)==10){
    System.out.println("Final sum when divided by 11 gives remainder 10");
}