hrim5736
?>

Паскаль, цикл while, запрашивать числа до тех пор пока их сумма не станет > =100, вывести количество чисел ​

Информатика

Ответы

pivenraisa

var a,b,c:integer;

begin

b:=0;

while b<=100 do

begin

readln(a);

b+=a;

c+=1;

end;

write(c);

end.

АннаМаргарита
Приведенная программа принимает целые числа и выводит два значения: a - количество цифр в числе и b - произведение цифр, составляющих число. При вводе нуля программа завершает работу.  Ввод отрицательных чисел игнорируется.
1) При исполнении этой программы на экран было сначала выведено число 2, затем число 15. НАИМЕНЬШЕЕ значение переменной x, для которого это возможно, равно С) 35
Здесь количество цифр равно двум, а их произведение равно 15. Число 15 представимо в виде произведения двух однозначных чисел только в виде 3х5 или 5х3. Следовательно, наименьшим числом могло быть только 35.
2) При исполнении этой программы на экран было сначала выведено число 2, затем число 15. НАИБОЛЬШЕЕ значение переменной x, для которого это возможно, равно B) 53
Решение аналогично предыдущему, но выбирается наибольшее число, т.е. 53.
3) НАИМЕНЬШЕЕ значение переменной b, которое может быть выведено на экран этой программой, равно Е) 0
Минимальное значение произведения n однозначных чисел будет равно нулю, если среди этих чисел встретить хотя бы один ноль.
4) При исполнении этой программы на экран было сначала выведено число 2. НАИБОЛЬШЕЕ значение переменной b, которое может быть выведено на экран, равно А) 81
Максимальное произведение двух однозначных чисел равно 9х9=81.
5) НАИМЕНЬШЕЕ значение переменной a, которое может быть выведено на экран этой программой, равно D) 1
Понятно, что чисел с количеством знаков, меньшим единицы, быть не может.
polariskirov
Function ds(ByVal n As Integer) As Integer
    'Сумма цифр в числе n
    Dim s As Integer
    s = 0
    Do While n <> 0
        s = s + n Mod 10
        n = Int(n / 10)
    Loop
    ds = s
End Function

Function IsGood(n As Integer) As Boolean
    'Сохраняется ли сумма цифр при умножении числа на 2,3,..9 ?
    Dim etalon As Integer, k As Integer
    etalon = ds(n)
    IsGood = True
    k = 2
    Do While IsGood And k < 10
        IsGood = (ds(n * k) = etalon)
        k = k + 1
    Loop
End Function

Sub aaa()
    Dim i As Integer, s As String
    s = ""
    For i = 10 To 99
        If IsGood(i) Then s = s + Str(i)
    Next i
    MsgBox s
End Sub

Тестовое решение:
18 45 90 99

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Паскаль, цикл while, запрашивать числа до тех пор пока их сумма не станет > =100, вывести количество чисел ​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Janaz842060
Varagyant
damir
saa002
Mexx9050
Zelinskaya-Andrei
mnogoz
cheshirsky-kot
Sacharov84
Vikkitrip
liza04521160
yulyazhdan
IP1379
bykovaam
elozinskaya