Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2009, 19:15   #1
Doublefaced
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 100
По умолчанию (Делфи) Целочисленная арифметика

Цитата:
Задано натуральное число n. Найти кол - во натуральных чисел, не превышающих n и не делящихся ни на одно из чисел 2,3,5
Помогите пож-та с этой задачкой! Буду очень признателен
Doublefaced вне форума Ответить с цитированием
Старый 18.06.2009, 21:14   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Код:
count := n div 30 * 8;
n1 := n - n mod 30 + 1;
for i := n1 to n do
  if odd(i) and (i mod 3 <> 0) and (i mod 5 <> 0) then inc(count);
Основано на следующей идее: i mod 2 = (i+30) mod 2, i mod 3 = (i+30) mod 3, i mod 5 = (i+30) mod 2 (30 = НОК(2, 3, 5)). В интервале 1..30 чисел, удовлетворяющих условию 8. Значит для n таких чисел будет n div 30 * 8 и плюс ещё несколько чисел из интервала n1..n, которые мы считаем явно
Росли вроде умными, выросли дурнями... (c)А.Васильев

Последний раз редактировалось Greblin; 19.06.2009 в 03:26.
Greblin вне форума Ответить с цитированием
Старый 18.06.2009, 21:22   #3
Doublefaced
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 100
По умолчанию

А вывод/ввод можно, задача не понятна.
Doublefaced вне форума Ответить с цитированием
Старый 18.06.2009, 21:31   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Исходя из содержания Ваших сообщений на форуме, я делаю вывод, что функции readln и writeln Вам знакомы
Код:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
var n, n1, i, count: integer;
begin
readln(n);
count := n div 30 * 8;
n1 := n - n mod 30 + 1;
for i := n1 to n do
  if odd(i) and (i mod 3 <> 0) and (i mod 5 <> 0) then inc(count);
writeln(count);
end.
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7. Целочисленная арифметика Юрий2009 Помощь студентам 5 01.05.2009 11:57
Delphi 7. Целочисленная арифметика Юрий2009 Помощь студентам 1 27.04.2009 10:07
Задачи по теме "Подпрограммы", Целочисленная арифметика Olesya2406 Помощь студентам 1 26.04.2009 22:42
Целочисленная арифметика Doublefaced Помощь студентам 11 22.03.2009 19:33