Помогите пожалуйста.Даны две цифры в десятичной системе счисления. Напишитепрограмму,
Помогите пожалуйста.Даны две числа в десятичной системе счисления. Напишите
программку, которая выводит название на русском языке числа
модуля разности этих цифр
Так как целевой язык программирования не указан, написал на C.
В основном методе есть две переменные A и B, над которыми производнятся вычисления, а также способ IntToNaturalString(), модифицирующий число в его строковую запись на российском языке.
Итог работы на рисутке 1.
Код:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FindPairs
class Program
static void Main(string[] args)
//*Введи свои значения тут!*//
int A = 46524;
int B = 7353;
int res = Math.Абс(A - B);
Console.WriteLine("Исходная запись результата 0-1 = 2,", A, B, res);
Console.WriteLine("что на российском языке звучит как \"0\".", IntToNaturalString(res));
static string IntToNaturalString(int number, string sep = " ")
return IntToNaturalString(number.ToString());
static string IntToNaturalString(string number, string sep = " ")
string result = "";
if (number.Length gt; 3)
string[] numbersClassNames = "", "тысяч", "миллионов", "биллионов", "триллионов", "квадрилионов", "квинтиллионов" ;
int K = number.Length / 3, D = number.Length % 3;
if (D gt; 0)
result += (IntToNaturalString(number.Substring(0, D)) + " " + numbersClassNames[K] + sep);
for (int i = 0; i lt; K; i++)
result += (IntToNaturalString(number.Substring(D+3*i, 3)) + " " + numbersClassNames[K - 1 - i] + sep);
else
string[] hangred = "", "100", "двести", "триста", "четыреста", "500", "600", "семьсот", "восемьсот", "девятьсот" ;
string[] decades = "", "десять", "20", "30", "сорок", "50", "шестьдесят", "70", "восемьдесят", "девяносто" ;
string[] ones = "", "один", "два", "три", "четыре", "пять", "6", "семь", "восемь", "девять" ;
string[] chst = "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестрадцать", "восемнадцать", "девятнадцать" ;
number = RightFillZeros(number);
int H = int.Parse(number[0].ToString());
int D = int.Parse(number[1].ToString());
int O = int.Parse(number[2].ToString());
result = hangred[H] + " ";
if (D == 1 amp;amp; O != 0)
result += chst[O];
else
result += decades[D] + " " + ones[O];
return result;
static string RightFillZeros(string number, int N = 3)
if (number.Length lt; N)
number = new string('0', N - number.Length) + number;
return number;
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.