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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2009, 22:20   #1
Юля787
 
Регистрация: 12.10.2009
Сообщений: 8
Восклицание Алгоритмизация

Решение задач с использованием циклов
1.Найти все двузначные числа, в записи которых есть цифра п или само число делится на п.
2.Найти сумму целых положительных чисел, больших 20, меньших 100, кратных 3 и заканчивающихся на 2, 4 или 8.
Решение задачи о максимальном потоке
3. Найти все целые числа из промежутка от 200 до 500, у которых ровно
шесть делителей.
Юля787 вне форума Ответить с цитированием
Старый 12.10.2009, 22:56   #2
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Как 3ая задача связана с maxflow? Там или комбинаторный полуперебор, или прямой перебор, что немного менее оптимально. Какие задачи на потоки вы уже делали? Может помогу с ней, а то заинтересовал нестандартный подход.
2 другие - тупо циклы. Ждем наработок, при необходимости исправим.
LeBron вне форума Ответить с цитированием
Старый 14.10.2009, 07:41   #3
Юля787
 
Регистрация: 12.10.2009
Сообщений: 8
По умолчанию

я незнаю что мы делали, я пришла на пару и мне дали лабы, сказали сделай на этой недели и принеси!!!!!...((((
Юля787 вне форума Ответить с цитированием
Старый 14.10.2009, 07:53   #4
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

1 задача:
Код:
program Project1;
const
  m = 20;
type
  TMyArray = array [1..m] of integer;
var
  MyArray: TMyArray;
  k,n: integer;
procedure Init(var a: TMyArray; const m: integer);
var
  i: byte;
begin
  Randomize;
  k := 0;
  for i := 1 to 20 do
   begin
    a[i] := Random(100) + 1;
    WriteLn(a[i]);
   end;
end;

procedure GetNumber(a: TMyArray; const m: integer);
var
  i: byte;
begin
  for i := 1 to m do
   if a[i] div 10 <> 0 then
    if (a[i] div 10 = n) or (a[i] mod 10 = n) or (a[i] mod n = 0) then Inc(k);
end;

begin
 ReadLn(n);
 Init(MyArray, m);
 GetNumber(MyArray, m);
 WriteLn(k);
 ReadLn;
end.
Рабочий код...
2 задача:
Код:
program Project1;
const
  m = 20;
type
  TMyArray = array [1..m] of integer;
var
  MyArray: TMyArray;
  i,s: integer;

begin
  Randomize;
  s := 0;
  for i := 1 to m do begin
   MyArray[i] := Random(100);
   WriteLn(MyArray[i]);
  end;
  for i := 1 to m do
   if (MyArray[i] > 20) and (MyArray[i] < 100) and (MyArray[i] mod 3 = 0) then
    if (MyArray[i] mod 10 = 2) or (MyArray[i] mod 10 = 4) or (MyArray[i] mod 10 = 8) then
     s := s + MyArray[i];
  WriteLn(s);
  ReadLn;
end.
Во второй задаче не особо старался с оформлением, спешу...

Последний раз редактировалось Манжосов Денис :); 14.10.2009 в 08:06.
Манжосов Денис :) вне форума Ответить с цитированием
Ответ


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