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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 18:00   #1
Настёна_19
Пользователь
 
Регистрация: 22.12.2010
Сообщений: 12
Стрелка напечатать распределение простых чисел по сотням с указанием их количества в сотне для интервала от 1 до

напечатать распределение простых чисел по сотням с указанием их количества в сотне для интервала от 1 до 1000


помогите) знаю, что задача достаточно примитивная, но делаю не для себя.... а сама уже давно всё подзабыла...
надеюсь на вашу помощь, заранее благодарна за ваше внимание!
Настёна_19 вне форума Ответить с цитированием
Старый 25.12.2010, 18:23   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

А язык-то какой?
Son Of Pain вне форума Ответить с цитированием
Старый 25.12.2010, 18:25   #3
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

не совсем понятно задание... немогли бы немного пояснить.
unbanned вне форума Ответить с цитированием
Старый 25.12.2010, 18:50   #4
Настёна_19
Пользователь
 
Регистрация: 22.12.2010
Сообщений: 12
По умолчанию

в pascal
условие как данно, так я и переписала.... больше ни каких пояснений
Настёна_19 вне форума Ответить с цитированием
Старый 25.12.2010, 18:54   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
FUNCTION IsSimple(n:LongInt):BOOLEAN;
VAR i, m:integer;
BEGIN
  m := Trunc(Sqrt(n));
  IsSimple := TRUE;
  if x<2 then begin IsSimple := falsE;Exit; end;
  FOR i := 2 TO m DO
  IF (n MOD i) = 0  THEN
    BEGIN
      IsSimple := FALSE;
      break;
    END;
END;
var i,j:integer;
c:integer;
begin
for i:=0 to 9 do
begin
c:=0;
 for j:=i*100+1 to (i+1)*100 do
 if issimple(j) then inc(c);
writeln(i*100+1,'...',(i+1)*100,'==>',c);
end;
end.
результат
Цитата:
1...100==>25
101...200==>21
201...300==>16
301...400==>16
401...500==>17
501...600==>14
601...700==>16
701...800==>14
801...900==>15
901...1000==>14
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 26.12.2010 в 08:38.
Mad_Cat вне форума Ответить с цитированием
Старый 25.12.2010, 19:13   #6
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от Настёна_19 Посмотреть сообщение
напечатать распределение простых чисел по сотням с указанием их количества в сотне для интервала от 1 до 1000


помогите) знаю, что задача достаточно примитивная, но делаю не для себя.... а сама уже давно всё подзабыла...
надеюсь на вашу помощь, заранее благодарна за ваше внимание!
Наработки выложи и тогда поможем
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 25.12.2010, 21:52   #7
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Только не IsSimple, а IsPrime
Son Of Pain вне форума Ответить с цитированием
Старый 25.12.2010, 21:58   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Только не IsSimple, а IsPrime
А какая извините х...н разница7
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 25.12.2010, 22:06   #9
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Ну какбе если называть идентификаторы по-английски, то почему бы не называть их правильно ?
Son Of Pain вне форума Ответить с цитированием
Старый 25.12.2010, 23:34   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Mad_Cat, то, что Вы назвали по английски не очень точно, это не проблема..

а вот то, что программа в первой сотне даёт неверный ответ - это намного хуже..
дело в том, что от 1 до 100 - всего 25 простых чисел.
"2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
59, 61, 67, 71, 73, 79, 83, 89, 97"
Ваша функция считает, что единица является простым числом.
Это не так, единица не простое число.

ну и раз зашла такая пьянка позволю себе в n-й раз выложить такую реализацию функции проверки числа на простоту:
Код:
function isPrime(X: word): boolean;
var i: word;
Begin
     isPrime:=false;
     if x<2 then Exit;
     if not odd(x) and (x<>2) { проверяем на чётность  }
          then exit;
     i:=3;
     while i <= sqrt(x) do { проверяем только нечётные }
     begin
          if x mod i = 0 then Exit;
          inc(i,2);
     end;
     isPrime:=true;
End;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из 6-ти заданных чисел найти максимум и минимума с указанием четное оно или нечетное [Паскаль] Gevorg7 Помощь студентам 2 12.12.2010 21:59
SQL запрос в MYSQL для интервала дат slips SQL, базы данных 7 05.06.2010 21:41
Сформировать и напечатать множество всех четных чисел , не входящих в массив. Makcumqa Помощь студентам 1 18.03.2010 05:59
Среди чисел из интервала от А до В найти все простые. veterok Помощь студентам 1 22.04.2009 19:23
генератор псевдослучайных чисел - распределение elsin Общие вопросы Delphi 12 15.05.2008 16:07