tak mam tady to puvodni reseni az to 2^31 - 1 (chtel sem to jen pro longint) ale podle naseho kompilatoru na skole to splnuje 70% spravnosti (3 testy dopadly Wrong Answer), takze kdyby to nekdo chtel testovat a najit odlisny (nepravny) cisla tak to uvitam :-D...problem je jak zjistit ze cislo je spravne, ten prvni postup, ktery projizdi kazde cislo, je celkem spolehlivy, ale tak max do 10^6 potom uz to tuhne :-)...
Příspěvky odeslané z IP adresy 195.113.69.–
to nf... 34 je maximalni cesta kterou muzes tomu krali zaridit...to je kdyz to bude takhle (snad se to nenaformatuje blbe :-))
0-------
00000000
-------0
00000000
0-------
00000000
-------0
00000000
(pomlcky sou prekazky) a startovni pozice (1,1) a cilova (8,1)
resp policka inicializuj na -1 abys to mel lepsi, vlnu opakuj pro max 34 opakovani (nejhorsi pripad)...
to nordec...nepripomina mi to nahodou priklad do codexu? (zdravim kolegu :-D)
a) udelej si normalne pole 8x8 of integer, na zacatku vsechny policka inicializuj na 0
b) precti souradnice prekazek a na jejich misto dej treba 100 to je jedno
c) precti hodnotu pocatecni souradnice krale a oznac okolni mista, ktera maji nulu hodnotou 1 --> postupuj dale a oznac vsechny okolni 2 (pokud maji nulu) --> atd atd (proste vlna)
d) potom uz jen staci precist hodnotu ktery ti vysla na cilovem policku
je to peknej priklad, klidne bych se do toho pustil, ale nak se mi chce spat...
good luck
drobas
muzu to odevzdat ve 3 priponach (.pas, .pp, .fp)...tzn. Pascal prekladany GPC v rezimu kompatibility s Borland Pascalem nebo Pascal prekladany GPC ve vychozim rezimu nebo Free Pascal prekladany FPC...kazdopadne freepascal je celkem rekl bych flexibilni, proste to by snad povolil, ale de mi o to, ze ten prekladac ma nejaky svy meze---tzn. urcite nekonecny smycky utne po urcity dobe atp...a ja prave nevim jestli alokace pameti by mu taky nevadila...prece jenom kdyby to delal kazdej tak nevim treba s tim muzou bejt problemy...
KIIV...eratosthena znam...ale tam asi bude potreba taky trochu zvetsit pamet jak si psal...ale neslo by to i jinak, de mi o to ze to je uloha na cviceni a dostanu splneno jen pokud ji projedu pres kompilator podobny BP (dulezite je to podobny -- tzn. alokaci pameti mi to treba neveme)...takze pokud by bylo jiny reseni tak bych se tomuto rad vyhnul...
nene normalne SOUCET prvocisel (Goldbachova veta - kazdy sudy cislo vetsi nez 2 se da napsat jako soucet dvou prvocisel - ne nutne ruznych)...
jinak vytvaret soubor to nemuzu...musi to byt v pameti...
a array[1..10^6] of boolean chodi chybu...odhadnul bych neco jako ordinal type expected
...nenepada me jiny reseni jak to udelat...pro cisla do 10000 bez problemu, pro tydle velky nevim jak to obejit...
dik za opravu, ale stejne mi to nepomuze, potrebuju neco k tematu :-D...pascal asi nema rad velky pole protoze array[1..1000,1..1000] of longint nebere...chtel sem to udelat tak ze pro kazdy cislo ulozim hodnotu true nebo false podle toho jestli je prvocislo nebo ne...potom proste jen najdu vhodnou kombinaci ktera secte dve prvocisla a vyjde mi cislo ktery chci...jedinej zadrhel je na tom velkym poli, nema nekdo napad jak to vochcat? :-D
Zdravim,
potrebuju udelat pole nebo proste neco kam budu moct ukladat informace o 1 000 000 polozkach...
vysvetleni... mam priklad: sestavit program ktery precte na vstupu cislo (ktere muze byt max. 1 000 000) a rozlozit ho na soucet prvocisel...neni problem, ale kde ulozit tech 200 000 prvocisel to fakt nevim...nekdo nakej napad?
(pokud se nemylim pascal ma longint neco okolo 65000 takze neni moc sance no)
skusal si sc.nextLine()
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
key_t key = 5678;
int shmid;
int a =1;
int *data,*data2,pokus;
data = &a;
shmid = shmget(key, sizeof(int),0666|IPC_CREAT);
data = (int *) shmat(shmid,(void *)0,0);
*data = 1;
shmdt(data);
shmctl(shmid,IPC_RMID,0);
return(0);
}
pada to na sigsegv nevie niekto kde je chyba