How to resolve the algorithm Convert seconds to compound duration step by step in the Factor programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Convert seconds to compound duration step by step in the Factor programming language

Table of Contents

Problem Statement

Write a function or program which: This is detailed below (e.g., "2 hr, 59 sec").

Demonstrate that it passes the following three test-cases: Test CasesDetailsThe following five units should be used: However, only include quantities with non-zero values in the output (e.g., return "1 d" and not "0 wk, 1 d, 0 hr, 0 min, 0 sec"). Give larger units precedence over smaller ones as much as possible (e.g., return 2 min, 10 sec and not 1 min, 70 sec or 130 sec) Mimic the formatting shown in the test-cases (quantities sorted from largest unit to smallest and separated by comma+space; value and unit of each quantity separated by space).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Convert seconds to compound duration step by step in the Factor programming language

Source code in the factor programming language

USING: assocs io kernel math math.parser qw sequences
sequences.generalizations ;

: mod/ ( x y -- w z ) /mod swap ;

: convert ( n -- seq )
    60 mod/ 60 mod/ 24 mod/ 7 mod/ 5 narray reverse ;
    
: .time ( n -- )
    convert [ number>string ] map qw{ wk d hr min sec } zip
    [ first "0" = ] reject [ " " join ] map ", " join print ;
    
7259 86400 6000000 [ .time ] tri@


  

You may also check:How to resolve the algorithm Call a function step by step in the FreeBASIC programming language
You may also check:How to resolve the algorithm Sum and product of an array step by step in the Befunge programming language
You may also check:How to resolve the algorithm Conditional structures step by step in the HicEst programming language
You may also check:How to resolve the algorithm Bioinformatics/base count step by step in the Forth programming language
You may also check:How to resolve the algorithm Semiprime step by step in the MiniScript programming language