Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C# by 123 ( 15 years ago )
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public int y(int c)
{
return c - 48;
}
public StringBuilder toVerb(long x)
{
string f = x.ToString();
string[] nums = {"", "один", "два", "три", "четыре", "пять", "шесть", "семь",
"восемь", "девять"};
string[] numsf = {"", "одна", "две", "три", "четыре", "пять", "шесть", "семь",
"восемь", "девять"};
string[] teens = {"десять", "одинадцать", "двенадцать", "тринадцать", "четырнадцать",
"пятнадцать", "шестнадцать", "семнадцать", "восемнадцать",
"девятнадцать"};
string[] tens = {"", "десять", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят",
"семьдесят", "восемьдесят", "девяносто"};
string[] hundreds = {"", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот",
"семьсот", "восемьсот", "девятьсот"};
string[,] mils = {{"миллиард ", "миллиарда ", "миллардов "}, {"миллион ", "миллиона ", "миллионов "},
{"тысяча ", "тысячи ", "тысяч "}, {"","",""}};
string[,] trils = {{"триллион ", "триллиона ", "триллионов "}, {"миллион ", "миллиона ", "миллионов "},
{"тысяча ", "тысячи ", "тысяч "}, {"","",""}};
StringBuilder res = new StringBuilder("");
int i = 0;
if (f.Length < 15 && f.Length > 12)
f = f.PadLeft(15, '0');
if (f.Length < 12 && f.Length > 9)
f = f.PadLeft(12, '0');
if (f.Length <= 9 && f.Length > 6)
{
f = f.PadLeft(9, '0');
i = 1;
}
if (f.Length <= 6 && f.Length > 3)
{
f = f.PadLeft(6, '0');
i = 2;
}
if (f.Length <= 3)
{
f = f.PadLeft(3, '0');
i = 3;
}
for (; i <= 3; i++)
{
if (f[0] != '0')
{
res.Append(hundreds[f[0] - 48] + " ");
}
if (f[1] == '1')
res.Append(teens[f[2] - 48] + " ");
else
{
if (f[1] != '0')
res.Append(tens[f[1] - 48] + " ");
if (f[2] != '0' && i != 2)
res.Append(nums[f[2] - 48] + " ");
if (f[2] != '0' && i == 2)
res.Append(numsf[f[2] - 48] + " ");
}
if (f[2] == '1')
res.Append(mils[i, 0]);
if (f[2] == '2' || f[2] == '3' || f[2] == '4' && f[1] != '1')
res.Append(mils[i, 1]);
if (f[2] == '5' || f[2] == '6' || f[2] == '7' || f[2] == '8' || f[2] == '9' || f[2] == '0' && (f[1] != '0' || f[0] != '0'))
res.Append(mils[i, 2]);
f = f.Substring(3);
}
return res;
}
static void Main(string[] args)
{
string s = Console.In.ReadLine();
long x = Convert.ToInt64(s);
Program a = new Program();
Console.Out.WriteLine(a.toVerb(x));
Console.ReadKey();
}
}
}
Revise this Paste