zoukankan      html  css  js  c++  java
  • 关于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万次,差距不足一秒,但是快了,就是快了。这就是算法的优化吧,应该。
    另外如果以计算机单独直接运算当然更快,但是那样的运算不是以人的思维运算的,人进行运算还是分步进行的。
    
    
    
     
  • 相关阅读:
    [ARC080D] Prime Flip
    硬币游戏
    点分治
    OneInDark对众数的爱
    [CF838D] Airplane Arrangements
    网络流总结(转载)
    二分图最大权完美匹配(KM)
    网络流
    FWT
    FFT & NTT
  • 原文地址:https://www.cnblogs.com/ylzj/p/6029462.html
Copyright © 2011-2022 走看看