М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lizaskiba14072003
lizaskiba14072003
27.08.2020 01:23 •  Математика

Составить программу, которая читает натуральное число n в десятичном представлении (n=< 10000), а на выходе выдает это же число в десятичном представлении и на естественном языке. например, 7 þ семь; 204 þ двести четыре; 52 þ пятьдесят два в c#

👇
Ответ:
nastiaX352
nastiaX352
27.08.2020
Program NumberToStrnig;

function NumToStr(InN: LongInt): String;
{ Константы для формирования числительных }
const
arr100 : array[0..9] of String = ('','сто ','двести ','триста ','четыреста ','пятьсот ',
'шестьсот ','семьсот ','восемьсот ','девятьсот ');
arr011 : array[0..10] of String = ('','десять ','одиннадцать ','двенадцать ','тринадцать ',
'четырнадцать ','пятнадцать ','шестнадцать ','семнадцать ',
'восемнадцать ','девятнадцать ');
arr010 : array[0..9] of String = ('','десять ','двадцать ','тридцать ','сорок ','пятьдесят ',
'шестьдесят ','семьдесят ','восемьдесят ','девяносто ');
arr001 : array[0..9] of String = ('','','','три ','четыре ','пять ','шесть ','семь ','восемь ','девять ');
arr000 : array[1..2,0..2] of String = (('','один ','два '),
('','одна ','две ')); { массив единиц, зависящих о рода }
arrName : array[0..3] of String = ('тысяч','миллион','миллиард');

var
sN, sSign, Triad, tmpS, Result : String;
TriadCount, i, j, Err, idx : Integer;
N, N10, N01, nGender : Integer;
begin
Str(Abs(InN), sN); { преобразуем число в строку }

if InN < 0 then sSign := '(минус) ' else sSign := '';

TriadCount := (Length(sN)+2) div 3; { количество триад в числе }

sN := Copy('000', 1, TriadCount*3-Length(sN)) + sN; { дополним до полных триад }

Result := '';
{ обработка триад }
for i:=1 to TriadCount do begin
Triad := Copy(sN, 3*i-2, 3); { очередная триада }
Val (Triad[2], N10, Err); { десятки }
Val (Triad[3], N01, Err); { единицы }
for j:=1 to 3 do begin { сканируем цифры триады }
Val(Triad[j], N, Err); { очередная цифра триады }
case j of
1: Result := Result + arr100[N]; { формируем сотни }
2: if N10 = 1 then
Result := Result + arr011[N01 + 1] { 10..19 }
else
Result := Result + arr010[N]; { 20..90 }
3: if N10 <> 1 then begin
nGender := 1; { род мужской }
if i=TriadCount-1 then nGender := 2; { род женский }
if N > 2 then Result := Result + arr001[N]
else Result := Result + arr000[nGender, N];
end;
end;
end;

{ добавление названий триад }
if (N01 = 0) or (N01 > 4) or (N10 = 1) then idx := 3 else
if (N01 > 1) and (N01 < 5) then idx := 2 else idx := 1; { idx - для 1, 2 или 5}

Val(Triad, N, Err);
tmpS := arrName[TriadCount-1-i]; { название триады }
case TriadCount-i of
{ настроим окончания }
1 : if N <> 0 then begin
if idx = 3 then tmpS := tmpS + ' '
else if idx = 2 then tmpS := tmpS + 'и '
else tmpS := tmpS + 'а ';
end;
2..6 : if N <> 0 then begin
if idx = 3 then tmpS := tmpS + 'ов '
else if idx = 2 then tmpS := tmpS + 'а '
else tmpS := tmpS + ' ';
end;
else tmpS := '';
end;
Result := Result + tmpS;
end;
if Result = '' then Result := 'ноль';
NumToStr := sSign + Result;
end;

var
nS : LongInt;

begin
ReadLn(nS);
WriteLn(nS, ' - ', NumToStr(nS));
Readln;
end.

должно работать 
4,4(36 оценок)
Открыть все ответы
Ответ:
muriev
muriev
27.08.2020
ответ:

1) -2(1-x-3y)                                  5) -3(8+x-4y)

2x+6y-2                                         -3x+12y-24

2) -2(-a+b-c)                                 6) 2(-a-3b+c)

2a-2b-2c                                       -2a-6b+2c

3) -2(25+a-4b)                              7) -2(4-a+3b)

-2a+8b-50                                      2a-6b-8

                     

4) a(-b-5-6)                                    8) 7(b+3-2a)

-ab-11a                                            -14a+7b+21

Не забудь нажать

 

4,5(33 оценок)
Ответ:
АНooop
АНooop
27.08.2020
Вот все ответы на примеры:
Я тоже мучалась с этим заданием

1) 25 * 76 * 4 = 25 * ( 76 * 4 ) = ( 25 * 4 ) * 76 = 7 600
2) 50 * 43 * 20 = 50 * ( 43 * 20 ) = ( 50 * 20 ) * 43 = 43 000
3) 8 * 30 * 125 = 8 * ( 30 * 125 ) = ( 8 * 125 ) * 30 = 30 000
4) 200 * 32 * 5 = 200 * ( 32 * 5 ) = ( 200 * 5 ) * 32 = 32 000
5) 125 * 57 * 8 = 125 * ( 57 * 8 ) = ( 125 * 8 ) * 57 = 57 000
6) 40 * 49 * 25 = 40 * ( 49 * 25 ) = ( 40 * 25 ) * 49 = 49 000
7) 25 * 83 * 4 = 25 * ( 83 * 4 ) = ( 25 * 4 ) * 83 = 8 300
8) 20 * 94 * 5 = 20 * ( 94 * 5 ) = ( 20 * 5 ) * 94 = 9 400
9) 20 * 77 * 50 = 20 * ( 77 * 50 ) = ( 20 * 50 ) * 77 = 77 000
10) 80 * 63 * 125 = 80 * ( 63 * 125 ) = ( 80 * 125 ) * 63 = 630 000
11) 16 * 40 * 5 = 16 * ( 40 * 5 ) = ( 16 * 5 ) * 40 = 3 200
4,7(70 оценок)
Это интересно:
Новые ответы от MOGZ: Математика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ