Data update
This commit is contained in:
parent
8e4e15fa56
commit
72eb4943cb
1853 changed files with 35514 additions and 9441 deletions
30
Task/Roman-numerals-Encode/Draco/roman-numerals-encode.draco
Normal file
30
Task/Roman-numerals-Encode/Draco/roman-numerals-encode.draco
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
proc toroman(word n; *char buf) *char:
|
||||
*char parts = "M\e\eCM\eD\e\eCD\eC\e\eXC\eL\e\eXL\eX\e\eIX\eV\e\eIV\eI";
|
||||
[13]word sizes = (1000,900,500,400,100,90,50,40,10,9,5,4,1);
|
||||
channel output text roman;
|
||||
word part;
|
||||
|
||||
open(roman, buf);
|
||||
while n > 0 do
|
||||
part := 0;
|
||||
while sizes[part]>n do part := part+1 od;
|
||||
write(roman; parts + 3*part);
|
||||
n := n - sizes[part]
|
||||
od;
|
||||
close(roman);
|
||||
buf
|
||||
corp
|
||||
|
||||
proc test(word n) void:
|
||||
[32]char buf;
|
||||
writeln(n, ": ", toroman(n, &buf[0]))
|
||||
corp
|
||||
|
||||
proc main() void:
|
||||
test(1666);
|
||||
test(2008);
|
||||
test(1001);
|
||||
test(1999);
|
||||
test(3888);
|
||||
test(2025)
|
||||
corp
|
||||
Loading…
Add table
Add a link
Reference in a new issue