Головна Обговорення Лінки Пошук Prykladna СС Прикладна _КОЛЕДЖ 28.07.2026 09:19:37 (EEST=GMT+2)
ACM -
Навігація -
Теми форуму +
Чи знали ви, що... ? (beta) -
Марія Склодовська-Кюрі, Джон Бардін, Лайнус Полінг і Фредерік Сенгер одержували Нобелівську премію двічі.
Події
ПнВтСрЧтПтСбНд
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Перегляд теми
ACM Контестер | Технічні Питання | Тестувалка
Автор задача 1004
taras_
Користувач

Повідомлень: 13
Зареєстрований: 30.08.09
Опубліковано 30-08-2009 23:50
У мене у Visual Studio C++ 6.0 працює без проблем.
Тестувалка видає "Помилка під час виконання".
Скажіть в чому проблема.

#include <iostream>
using namespace std;
int main()
{
int a[2002],p[100],i,np,n,s,k;
cin>>n;
for(i=1;i<=2000;i++) a[i]=0;
a[2]=0;
for(i=2;i<2000;i++)
if(a[i]==0)
for(s=2*i;s<2000;s+=i)
a[s]=1;
i=2;
for(np=0;np<=100;i++)
if(a[i]==0) {np++; p[np]=i;}
k=p[n]*p[n];
cout<<k;
return 0;
}
Надіслати приватне повідомлення
Автор RE: задача 1004
LeBron
Головний Адміністратор

Повідомлень: 704
Звідки: ЛНУ
Зареєстрований: 10.02.09
Опубліковано 31-08-2009 06:07
По-перше, неефективний алгоритм. Але то таке:) Що головне - в одному місці йде звернення до неіснуючого елементу.В якому - раджу пошукати самому. Якщо не допоможе - покажу, де саме.
LeBron LeBron Надіслати приватне повідомлення
Автор RE: задача 1004
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 31-08-2009 20:33
Але не можна публікувати код на форумі..........:@:o
GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: задача 1004
taras_
Користувач

Повідомлень: 13
Зареєстрований: 30.08.09
Опубліковано 31-08-2009 22:23
Помилку знайшов.
У чому полягає неефективність: у сталій 2002 чи у алгоритмі в цілому?
Змінив(ла) taras_, 31-08-2009 22:43
Надіслати приватне повідомлення
Автор RE: задача 1004
LeBron
Головний Адміністратор

Повідомлень: 704
Звідки: ЛНУ
Зареєстрований: 10.02.09
Опубліковано 01-09-2009 07:01
Стала 2002 - то просто запас. Хоча зрозуміло, що 100 простих чисел містяться навіть в першій тисячі, але перестрахуватись завжди можна. А слова про ефективність беру назад, протестив, ід69442, до 2 мільйонів, 0.046, - мене приємно вразило:) Одна проблема цього алго - використання додаткової пам'яті.
LeBron LeBron Надіслати приватне повідомлення
Перейти на форум:
Голосування
Що Ви б хотіли отримати в якості подарунку на змаганні з програмування?

Медалі

настільні ігри

торт

клавіатура, навушники, флешки і т.д.

квитки в кіно

квитки в аквапарк

квитки на пейнтбол

книги

футболки з логотипом змагання

Для участі в голосуваннях Ви повинні залогуватись.
Міні-чат +
Зараз на сайті -
Гостей: 3
На сайті немає зареєстрованних користувачів

Користувачів: 5,103
новачок: NataEvgten
Powered by PHP-Fusion © 2003-2006
LNU ACMania © 2004-2011 e-mail: webmaster@acm.lviv.ua
26,045,405 унікальних відвідувачів
Our projects: ACM Contester, _College.