В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок. 1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка 2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок 3. Из 112 восьмерок получится 37 девяток и одна восьмерка 4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка 5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8 6. И наконец получаем строку 8998 ответ: 8998
Программа Вот: Program z1;Var a,b,c,d,k:integer;BeginWriteln('Введите трехзначное число');REadln(a);While a<>0 do beginWriteln('Введите трехзначное число');REadln(a);b:=a div 100 mod 10;c:=a div 10 mod 10;d:=a mod 10;if b+c+d div 10 >0 then writeln('Сумма цифр- двузначное число') else writeln ('Нет, сумма цифр не двузначное число');if b*C*D div 100 >0 then writeln('Произведение цифр- терхзначное число') else writeln ('Нет, произведение цифр не трехзначное число число');Writeln ('Введите любое число');Readln (k);If b*c*d>k then writeln('Произведение цифр больше числа') else writeln('Произведение меньше числа');if B+c+d div 5 =0 then writeln('Сумма цифр числа кратна 5') else writeln ('Сумма цифр не кратна 5');if B+c+d div k =0 then writeln('Сумма цифр числа кратна числу, введенному с клавиатуры') else writeln ('Сумма цифр не кратна числу, введенному с клавиатуры');End;End. Есть маленькая проблема в начале, не помню как прописывать, поэтому число первый раз нужно вводить 2 раза, если не устраевает, можете воспользоваться другими ресурсами
1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка
2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок
3. Из 112 восьмерок получится 37 девяток и одна восьмерка
4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка
5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8
6. И наконец получаем строку 8998
ответ: 8998
Program z1;Var a,b,c,d,k:integer;BeginWriteln('Введите трехзначное число');REadln(a);While a<>0 do beginWriteln('Введите трехзначное число');REadln(a);b:=a div 100 mod 10;c:=a div 10 mod 10;d:=a mod 10;if b+c+d div 10 >0 then writeln('Сумма цифр- двузначное число') else writeln ('Нет, сумма цифр не двузначное число');if b*C*D div 100 >0 then writeln('Произведение цифр- терхзначное число') else writeln ('Нет, произведение цифр не трехзначное число число');Writeln ('Введите любое число');Readln (k);If b*c*d>k then writeln('Произведение цифр больше числа') else writeln('Произведение меньше числа');if B+c+d div 5 =0 then writeln('Сумма цифр числа кратна 5') else writeln ('Сумма цифр не кратна 5');if B+c+d div k =0 then writeln('Сумма цифр числа кратна числу, введенному с клавиатуры') else writeln ('Сумма цифр не кратна числу, введенному с клавиатуры');End;End.
Есть маленькая проблема в начале, не помню как прописывать, поэтому число первый раз нужно вводить 2 раза, если не устраевает, можете воспользоваться другими ресурсами