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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2010, 07:30   #1
Юкоша
Новичок
Джуниор
 
Регистрация: 24.12.2010
Сообщений: 2
Восклицание найти определённые простые числа в интервале [Паскаль]

На интервале (1000 .. 9999) найти все простые числа, каждое из которых обладает тем свойством, что сумма первой и второй цифр записи этого числа равна сумме третьей и четвёртой цифр. если можно то блок-схему тоже...мой адрес вконтакте http://vkontakte.ru/id37883363
Юкоша вне форума Ответить с цитированием
Старый 24.12.2010, 08:31   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
for i := 1000 to 9999 do
begin
    flag := true;
    for j := 2 to (i -1) do
        if ((i mod j) = 0) then flag := false;
    if flag = true then
    begin
        hi := i div 100;
        lo := i mod 100;
        sumhi := (hi div 10) + (hi mod 10);
        sumlo := (lo div 10) + (lo mod 10);
        if sumhi = sumlo then writeln (i);  
    end;
end;
если нужна блок схема пиши http://vkontakte.ru/id19574082 или в асю
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 24.12.2010, 09:07   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

подобные задачи можно решать двумя способами:
цикл от 1000 до 9999
в цикле - проверка числа на простоту + разложение на цифры и сложение нужных циферок

либо другой вариант (кстати, мне он больше нравится, ибо эффективнее первого и проще) - четыре вложенных цикла (по каждой циферке отдельно):
Код:
  
  for  i1:=1 to 9 do
    for i2:=0 to 9 do
      for i3:=0 to 9 do
        for i4:=0 to 9 do
    if (i1+i2) = (i3+i4) then begin 
       k := i1*1000+i2*100+i3+10+i4;
       if  isPrime(k) then WriteLn(k);
    end;
причём, это уже почти полностью готовая программа!


p.s. поищите, на форуме полно примеров функций, проверяющий число на простоту.я буквально пару дней назад в очередной раз выкладывал пример функции isPrime тут - Простые числа. Задача.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.12.2010, 13:16   #4
Юкоша
Новичок
Джуниор
 
Регистрация: 24.12.2010
Сообщений: 2
По умолчанию

вы уверены что это для школьного уровня?
Юкоша вне форума Ответить с цитированием
Старый 24.12.2010, 15:57   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Юкоша
А ты уверена что это вообще задача для школьного уровня?
Мы такое только в колледже изучали...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простые числа (паскаль) RAVAL(c) Помощь студентам 9 28.12.2010 02:41
Найти все простые числа в заданном диапазоне Nikita++ Помощь студентам 8 20.10.2010 20:05
найти первые н цифры, которые не делятса на простые числа кроме 2,3 и 5. рационально? Iceman Помощь студентам 3 28.09.2010 18:53
найти из указанного диапазона все простые числа мария2507 Microsoft Office Excel 11 03.04.2010 17:38
Pascal В интервале целых чисел найти все числа кратные 7 NewBi Помощь студентам 5 19.03.2010 19:55