Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: HELPPPPP!!!! 3 probleme nerezolvate  (Citit de 1392 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
ytssyrc
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« : Ianuarie 25, 2011, 18:39:33 »

ajutorrrrr!!!!! am nevoie de rezolvare completa a 3 probleme...(in pascal)
1) un grup din K srudenti, de la Universitatea Culinara au hotarit a pregati prinzul pentru ei insusi pe parcursul semestrului. Fiecare student urma a pregati prinzul cel putin 1 data in semestru.

cerinta: asa cum studentii de la Universitatea Culinara au careva probleme cu matematica, ei solicita crearea unui program de determinare a numarului de posibilitati existente de pregatire a prinzului de catre cei K studenti pe parcursul semestrului, daca semestru are durata de N zile. La intrare vom avea fisierul text PRINZ.IN care contine pe prima linie numerele naturale K si N separate prin spatiu. La iesire vom avea fisierul PRINZ.OUT care contine pe prima linie numarul de posibilitati existente.

de exemplu PRINZ.IN          PRINZ.OUT
                  2 3                   6

2)Se considera sirul de nr.naturale a1,a2,...,an. Selectati cit mai multe numere consecutive din acest sir, suma carora este divizibila prin numarul natural K. La intrare vom avea fisierul text NUMERE.IN ce contine pe prima linie numerele naturale N si K, separate prin spatiu. Pe urmatoarea linie se contin N numere naturale, separate prin spatiu. La iesire avem fisierul text NUMERE.OUT ce contine pe prima linie 2 numere, care contin indicii primului si ultimului element al subsirului de numere suma carora se divide prin K. In situaia cind asa subsir nu este, in fisierul de iesire se va scrie NO SOLUTION.

De exemplu:        NUMERE.IN                             NUMERE.OUT
                         8 3                                        2 8
                         1 8 4 5 9 3 2
                         5
Restrictii: 1<=K<N<=10^5, 0<=ai<=10^9, pentru i=1,2,3,...,10^5


3)Se considera sirul de caractere X, format din mai multe cuvinte, separate prin spatiu. se cere de a scrie un program care va construi, daca este posibil, o piramida din cuvintele sirului X astfel, incit virful piramidei va fi cuvintul de lungime cea mai mica, iar la baza piramidei cuvintul de lungime maxima. Posibilitatea construirii piramidei consta in faptul ca diferenta dintre lungimile oricaror 2 cuvinte vecine din piramida sa fie aceiasi. La intrare vom avea fisierul text PIRAMID.IN ce va contine pe prima linie sirul X. La iesire vom avea fisierul text PIRAMID.OUT ce va contine pe fiecare linie cite un cuvint al piramidei in caz afirmativ, sau mesajul NU in caz contrar. sirul X va contine doar caractere majuscule din alfabetul latin.

de exemplu:     PIRAMID.IN                                                         PIRAMID.OUT
                     MATEMATICA ESTE REGINA STIINTEI                        ESTE
                                                                                              REGINA
                                                                                              STIINTEI
                                                                                              MATEMATICA
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #1 : Ianuarie 26, 2011, 18:51:31 »

1) Raspunsul este: aranjamente de N luate cate K.
2) Construiesti un vector S[ i], cu semnificatia S[ i]=a1+a2+..+ai. Faci cu un for i=1,n : La fiecare pas i cauti j-ul minim astfel incat S[ i]-S[j-1] il divide pe K (adica aj+aj+1+...+ai il divide pe K), 1<=j<=i si daca i-j e mai mare decat diferenta maxima curenta, max=j-i.
3) Citesti cuvintele intr-un vector de string-uri si il sortezi. Apoi, verifici proprietatea ceruta la vectorul sortat. Daca e respectata, se poate realiza, daca nu, nu.

Sper ca sunt corecte solutiile mele Smile
P.S.: Nu iti va da nimeni rezolvari complete. Do it yourself!
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines