Завдання 1:
Програмування на C++ часто пов’язане з C, а відповідно — з поняттями швидкодії і малими одиницями часу. На практиці найменшою одиницею часу є наносекунда — максимально можлива точність виміру в звичайних системах. При низькорівневій розробці також оперують мілісекундами (швидкодія алгоритмів) чи мікросекундами (мітки часу в медіа).
Для ознайомлення з цими величинами і їх типовими позначеннями, необхідно розробити алгоритм, який розбиває мітку часу в наносекундах (timestamp) на:
- Дні (d — days)
- Години (h — hours)
- Хвилини (m — minutes)
- Секунди (s — seconds)
- Мілісекунди (ms — milliseconds)
- Мікросекунди (us — microseconds). Латинська u тут заміняє грецьку μ.
- Наносекунди (ns — nanoseconds)
Всі величини мають бути виведені на екран зі своїм суфіксом.
Приклад роботи
Enter the timestamp (ns): 88702401174195007
1026d 15h 33m 21s 174ms 195us 7ns
Решение задачи
#include <iostream>
using namespace std;
int main (){
long long int time = 88702401174195007
;
//cout << "enter the timestamp: "; cin >> time;
long long int d, h, m, s, ms, us, ns;
d = time / 24 / 60 / 60 / 1000 / 1000 / 1000;
cout << d << "d ";
h = time / 60 / 60 / 1000 / 1000 / 1000 % 24;
cout << h << "h ";
m = time / 60 / 1000 / 1000 / 1000 % 60;
cout << m << "m ";
s = time / 1000 / 1000 / 1000 % 60;
cout << s << "s ";
ms = time / 1000 / 1000 % 1000;
cout << ms << "ms ";
us = time / 1000 % 1000;
cout << us << "us ";
ns = time % 1000;
cout << ns << "ns ";
return 0;
}
Добавить комментарий