• 1026 程序运行时间(JAVA)


    要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数 C1;在 f 执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数之差 (C2-C1) 就是 f 运行所消耗的时钟打点数,再除以常数 CLK_TCK,就得到了以秒为单位的运行时间。

    这里不妨简单假设常数 CLK_TCK 为 100。现给定被测函数前后两次获得的时钟打点数,请你给出被测函数运行的时间。

    输入格式:

    输入在一行中顺序给出 2 个整数 C1 和 C2。注意两次获得的时钟打点数肯定不相同,即 C1 < C2,并且取值在 [0,107]。

    输出格式:

    在一行中输出被测函数运行的时间。运行时间必须按照 hh:mm:ss(即2位的 时:分:秒)格式输出;不足 1 秒的时间四舍五入到秒。

    输入样例:

    123 4577973
    

    输出样例:

    12:42:59

    代码实现:

    1. import java.io.*;
    2. /**
    3. * @author yx
    4. * @date 2022-07-15 16:23
    5. */
    6. //int实现的是向下取整数,即当n=06,(int)0.6=0,可以通过(int)(n+0.5)来实现四舍五入
    7. //Math.round()方法实现的是四舍五入,算法为Math.floor(x+0.5)
    8. //Math.floor()方法实现的是向下取整,int就是向下取整,Math.floor(11.6)=11
    9. //Math.ceil()方法实现的是向上取整,即Math.ceil(11.1)=12
    10. //时间输出要记得格式 00:00:00 使用printf("%02d",i);
    11. public class Main {
    12. static PrintWriter out=new PrintWriter(System.out);
    13. static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    14. static StreamTokenizer in=new StreamTokenizer(ins);
    15. public static void main(String[] args) throws IOException {
    16. in.nextToken();
    17. int C1=(int) in.nval;
    18. in.nextToken();
    19. int C2=(int) in.nval;
    20. double t1= ((C2-C1)/100.0);
    21. long ans=Math.round(t1);
    22. //注意时间格式的输出用printf("%02d")
    23. System.out.printf("%02d:%02d:%02d",ans/3600,(ans/60)%60,ans%60);
    24. }
    25. }

  • 相关阅读:
    【C++进阶】特殊类设计
    LeetCode220809_78、颜色分类
    Java学习----数据库
    渗透测试-应急响应思路分享
    我说HashMap初始容量是16,面试官让我回去等通知
    转录组&16S全长揭示热应激削弱鲟鱼的皮肤屏障功能的机制
    第二章 网络应用
    【JavaEE基础学习打卡07】JDBC之应用分层设计浅尝!
    k-均值聚类
    【数字IC验证快速入门】10、Verilog RTL设计必会的FIFO
  • 原文地址:https://blog.csdn.net/m0_55858611/article/details/126116294