В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
артлжьт
артлжьт
24.09.2022 13:38 •  Информатика

Б.Соқпақбаевтың өмірімен оқып танысып,жазушыға оқырман ретінде хат жазыңдар. 86-87 беттерді оқу помагите ​

Показать ответ
Ответ:
LizaZZ6
LizaZZ6
05.05.2020 08:45
Это задача совсем не "за ".
Количество чисел k2, которые делятся на два, равно целой части от n/2. Аналогично, k3=n/3 и k5/n/5. Вычтем все эти количества из общего количества чисел, равного n: k=n-(k2+k3+k5) и это даст примерное количество чисел, которые не делятся на 2, 3 и 5. Примерно оно потому, что мы не учли числа, которые одновременно делятся на 2 и 3, на 2 и 5, на 3 и 5. Т.е. числа, которые делятся на 6, 10 и 15 мы вычли дважды. Поэтому надо найти количество этих чисел и отнять их. k6=n/6, k10=n/10, k15=n/15 - по-прежнему делим нацело. И теперь за исправленное значение k принимаем k+(k6+k10+k15).
И последнее. Есть еще числа, которые делятся одновременно на 2, 3 и 5, т.е. на 2*3*5=30. Таких чисел k30=n/30. И мы их дважды прибавили. Теперь делаем последнюю коррекцию k, получая : k-k30.

Окончательно формула расчета:
k=n-(k/2+k/3+k/5)+(k/6+k/10+k/15)-k/30 при условии целочисленного деления.

То что мы проделали выше, носит название операции включения-исключения множеств.
Программа получается совсем простой.

Sub abc()
    Dim n As Long
    n = InputBox("Введите натуральное N")
    If n < 0 Then n = Abs(n) 'Защита от дурака
    MsgBox n - (n \ 2 + n \ 3 + n \ 5) + (n \ 6 + n \ 10 + n \ 15) - n \ 30
End Sub
0,0(0 оценок)
Ответ:
HaskyZ0nG
HaskyZ0nG
05.05.2020 08:45
1.                                                                        

program raf105;

var n,m,i:integer;

begin

writeln('Введите диапазон чисел (2 числа через пробел) которые нужно возвести в квадрат');

readln(n,m);

writeln('Вывод:');

for i:=n to m do

 writeln(i**2)

end.

2.                                                                        

program raf105;

var a,b,kol1,kol2:integer;

begin

write('Введите число: ');

readln(a);

while a <> 0 do

begin

 b:= a mod 10;

 if b<>0

   then if (b mod 2)=0

     then kol1+= 1

     else kol2+= 1;

 a:= a div 10;

end;

writeln('В числе ',kol1,' чётных и ',kol2,' нечётных цифр');

end.

3.                                                                        

program raf105;

var n,i,kol:integer;

begin

write('Введите N: ');

readln(n);

for i:=1 to n-1 do

 if ((i mod 2)<>0) and ((i mod 3)<>0) and ((i mod 5)<>0)

   then kol+=1;

writeln('Вывод: ',kol);

end.

Язык PascalABC

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота