关于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万次,差距不足一秒,但是快了,就是快了。这就是算法的优化吧,应该。
另外如果以计算机单独直接运算当然更快,但是那样的运算不是以人的思维运算的,人进行运算还是分步进行的。