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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2012, 13:02   #1
Kazik
Форумчанин
 
Регистрация: 27.05.2009
Сообщений: 192
По умолчанию Проверка делимости

Помогите плиз ребята...срочно нужно лабу сдавать...а сам дуб-дубом

Даны натуральные числа n, b0, ...,bn. Вычислить f(b0)+f(b1)+...+f(bn),где (вложение)
Изображения
Тип файла: jpg 2.jpg (45.6 Кб, 66 просмотров)
Kazik вне форума Ответить с цитированием
Старый 26.12.2012, 13:45   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
sum:=0;
for i:=0 to n do begin
  case (b[i] mod 3) of
    1: f:=b[i];
    0: f:=b[i]*b[i];
  else f:=b[i] div 3;
  end;
  sum:=sum+f;
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 26.12.2012 в 14:10.
Sciv вне форума Ответить с цитированием
Старый 26.12.2012, 13:48   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
function f(X: integer) : integer;
begin
  if ( X mod 3 = 0 ) {кратно 3-м} then f := sqr(x)
  else
    if (x mod 3 = 1) {при делении на три остаток равен 1} 
         then f := x
    else {во всех остальных случаях}
         f := x div 3; {целая часть от деления числа на 3}
end;
прикрутить цикл от 0 до n и проссумировать результаты, надеюсь, самостоятельно сумеете?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.12.2012, 14:02   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Ай-яй, точно! Это ж целая часть была, а я ее за опечатку принял!
Пойду и свой код исправлю

UPDATE Исправляя, сообразил, что целочисленные операции к вещественным неприменимы... тоже забыл.
Сергей, хотел Вам плюсик поставить за напоминание основ математики, да злобный форумный скрипт не дал
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 26.12.2012, 14:06   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

все таки else должно быть в case имхо
Код:
sum:=0;
for i:=0 to n do begin
 x:=b[i]; 
case (x mod 3) of
    1: f:=x;
    0: f:=x*x;
    else f:=x div 3;
end
    sum:=sum+f;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 26.12.2012, 14:08   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
и вместо i должен быть х
да не, вместо x Должен быть b[i]... так что либо x:=b[i], либо x[i]... В остальном Вы правы, я свою писанину подправил

OFFTOP. А чего я Вам плюсик не могу поставить?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 26.12.2012 в 14:11.
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция проверки делимости Kazik Помощь студентам 1 26.12.2012 13:41
Проверка if ViktorQQQ PHP 2 22.11.2011 23:44
Проверка AleX_zZ Помощь студентам 3 06.06.2011 09:38
excel.Проверка VBA и проверка функции Будда Помощь студентам 0 14.04.2011 21:10
проверка на IE TDrive JavaScript, Ajax 2 05.03.2010 13:41