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

Задано натуральное число n. найти количество натуральных чисел , не превышающих n и не делящихся ни на одно из чисел 2, 3, 5. vba

👇
Ответ:
Dima22022005
Dima22022005
06.08.2020
Это задача совсем не "за ".
Количество чисел 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
4,6(53 оценок)
Открыть все ответы
Ответ:
sashaWinka
sashaWinka
06.08.2020

Оглавление

Программа Microsoft Excel: абсолютные и относительные ссылки

Определение абсолютных и относительных ссылок

Пример относительной ссылки

Ошибка в относительной ссылке

Создание абсолютной ссылки

Смешанные ссылки

Изменение типа ссылки: относительная, абсолютная, смешанная

Типы ссылок MS EXCEL на ячейку: относительная (A1), абсолютная ($A$1) и смешанная (A$1) адресация

Абсолютная адресация (абсолютные ссылки)

Относительная адресация (относительные ссылки)

Смешанные ссылки

Вводим знак $ в адрес ячейки

"СуперАбсолютная" адресация

Абсолютная и относительная ссылка в Excel. Как использовать?

Определение

Относительная ссылка

Абсолютная ссылка

Смешанная

Абсолютная ссылка в Excel фиксирует ячейку в формуле

Абсолютные и относительные ссылки в Excel

Использование абсолютных и относительных ссылок в Excel

Типы ссылок на ячейки в формулах Excel

Объяснение:

4,5(75 оценок)
Ответ:
qsn50857
qsn50857
06.08.2020

1)

var mas: array[1..10] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 10 do

begin

if mas[i]<0 then counter:=counter+1;

end;

end.

2)

var mas: array[1..5] of integer = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 5 do

begin

if (mas[i]>0) and (i mod 2 = 0) then counter:=counter+1;

end;

end.

3)

var mas: array[1..15] of integer = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 15 do

begin

if (mas[i]>5) and (i mod 2 = 0) then counter:=counter+1;

end;

end.

4)

var mas: array[1..15] of integer;

var counter: integer;

begin

for i:= 1 to 15 do

begin

mas[i] = random(20) - 5;

end;

for i:= 1 to 15 do

begin

writeln(mas[i]);

end;

for i:= 1 to 15 do

begin

if (mas[i]>0) then counter:=counter+1;

end;

end.

5)

var mas: array[1..7] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 7 do

begin

readln(mas[i]);

end;

for i:= 1 to 7 do

begin

if mas[i]>0 then mas[i]=0;

end;

for i:= 1 to 7 do

begin

writeln(mas[i]);

end;

end.

6)

var mas: array[1..10] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

var sum: real;

var average: real;

begin

for i:= 1 to 7 do

begin

readln(mas[i]);

end;

for i:= 1 to 7 do

begin

if mas[i]<0 then

begin

sum:=sum+mas[i];

counter:=counter+1;

end

end;

average:= sum/counter;

end.

Объяснение:

4,8(45 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ