1. 程式人生 > >PAT——1026. 程序運行時間

PAT——1026. 程序運行時間

http 輸出 runt 運行 c語言 printf cti pri pat

要獲得一個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 package com.hone.basical;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * 原題目:https://www.patest.cn/contests/pat-b-practise/1025
7 * @author Xia 8 * 核心:數據的處理(取余,取商) 9 */ 10 public class basicalLevel1026ProRuntimeimprove{ 11 public static void main(String[] args) { 12 Scanner s = new Scanner(System.in); 13 double b = s.nextInt(); 14 double e = s.nextInt(); 15 int second = (int) Math.round((e-b)/100);
16 int hour = second/3600; 17 int minute = second%3600/60; 18 int second2 = second%60; 19 //格式化輸出 20 System.out.printf("%02d:%02d:%02d\n", hour, minute, second2); 21 } 22 }

PAT——1026. 程序運行時間