Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: