关于19*19乘法口诀的测试

第一步:

把被乘数(13)跟乘数的个位数(2)加起来,即有13+2=15;

第二步:

把第一步的答案乘以10,即有15*10=150;

第三步:把被乘数的个位数(3)乘以乘数的个位数(2),即有2*3=6;

第四步:第二步+第三步,即有150+6=156;

总算法:(13+2)*10 +(2*3)=156。
 1 public class NewXiao99 {
 2 
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7         long startTime = System.currentTimeMillis();// 获取当前时间
 8         for (int i = 0; i <= 1000000; i++) {//算法进行多次循环,方便比较细微时间
 9             Suan(9, 9);// 运算都为19*18
10             Suan(9, 8);
11             Suan(9, 7);
12             Suan(9, 6);
13             Suan(9, 5);
14             Suan(9, 4);
15             Suan(9, 3);
16             Suan(9, 2);
17             Suan(9, 1);
18         }
19         long endTime = System.currentTimeMillis();
20         System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
21     }
22 
23     public static int Suan(int a, int b) {
24         int first = (10 + a + b) * 10;
25         int second = a * b;
26         int third = first + second;
27         System.out.println(third);
28         return third;
29     }
30 
31 }

通过计算机,以人的思维进行运算

通过计算机,以人的思维进行常规运算

 1 public class Xiao99 {
 2 
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7         long startTime = System.currentTimeMillis();// 获取当前时间
 8         for (int i = 0; i <= 1000000; i++) {
 9             Suan(9, 9);// 运算都为19*18
10             Suan(9, 8);
11             Suan(9, 7);
12             Suan(9, 6);
13             Suan(9, 5);
14             Suan(9, 4);
15             Suan(9, 3);
16             Suan(9, 2);
17             Suan(9, 1);
18         }
19         long endTime = System.currentTimeMillis();
20         System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
21     }
22 
23     public static int Suan(int a, int b) {
24         int first = (10 + a) * 10;
25         int second = (10 + a) * b;
26         int third = first + second;
27         System.out.println(third);
28         return third;
29     }
30 
31 }




虽说运行循环100万次,差距不足一秒,但是快了,就是快了。这就是算法的优化吧,应该。
另外如果以计算机单独直接运算当然更快,但是那样的运算不是以人的思维运算的,人进行运算还是分步进行的。


 
原文地址:https://www.cnblogs.com/ylzj/p/6029462.html