•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #225 : Mai 27, 2010, 11:18:13 » |
|
ATENTIE! 1 ≤ N < 10100. Numerele trebuie citite ca siruri de caractere! Este a 10 oara cand se spune in topic de chestia asta, si in legatura cu txt, credema, e mai lesne sa pui .in si .out, eu nu imi fac testele cu txt, pentru ca oricum trebuie create fisierele in / out. Iar in legatura cu programul tau, pe numere mici, la numarp, unde ai numar *= n, trebuie pus numar *= j;
|
|
|
Memorat
|
|
|
|
•toni2007
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #226 : Mai 27, 2010, 12:01:08 » |
|
Salut...am scos si eu ceva,insa nu functioneaza cum trebuie: #include<fstream.h> #include<iostream.h> int numars(int j); int numarp(int j); int n; int main(){ int t; ifstream fin("cifra.txt"); ofstream fout("cifra1.txt"); fin>>t; for(;t!=0;--t){ fin>>n; fout<<numars(n)<<endl;} return 0;} int numarp(int j){ int x=j,numar=1; while(x!=0){ numar=numar*n; if(numar>=10) numar%=10; --x;} return numar;} int numars(int j){ int s=0,N=n; while(N!=0){ s+=numarp(N); if(s>=10) s%=10; --N;} return s;}
Nu pot sa imi dau seama unde este problema...am simplificat treburile cat mai mult... (asta inteleg eu prin scurtarea codului,mi se pare mai simplu de citit).Pentru datele de intrare din exemplu,in fisier mie imi scrie 1 6 9 0 5.Ma poate ajuta cineva? PrecizarI: -functia numars ar trebui sa se ocupe de ultimul numar al sumei numerelor pana la y -functia numarp ar trebui sa se ocupe de ultimul numar al lui y la puterea y -intrarea/iesirea am facut-o in fisiere .txt ca sa testez programul,mi s-a parut inutil sa schimb formatul, fiindca banuiesc, ca si voi tot in .txt le testati (si mi-e o leneee... ) Salut Numerele sunt pana in 10^100 deci trebuie citite ca sir de caractere. O alta posibilitate ar fi sa citesti ultimele 2 cifre. Ai sa vezi ca din 20 in 20 se repeta cifrele.
|
|
|
Memorat
|
|
|
|
•PrettyMonster
Strain
Karma: 0
Deconectat
Mesaje: 1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #227 : Iunie 06, 2010, 00:20:08 » |
|
La aceasta problema nu pot folosi biblioteca math? Am uploadat codul si erorile mele sunt acestea:
user.cpp:4:16: error: math: No such file or directory user.cpp:27:2: warning: no newline at end of file user.cpp: In function 'int suma(int)': user.cpp:11: error: 'pow' was not declared in this scope
|
|
|
Memorat
|
|
|
|
•wefgef
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #228 : Iunie 06, 2010, 01:38:29 » |
|
Libraria <math> nu e standard. Poti folosi <cmath> sau <math.h>
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•paunmatei7
Strain
Karma: 28
Deconectat
Mesaje: 27
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #229 : Septembrie 07, 2010, 09:45:50 » |
|
de ce trebuie sa puna timp 0,1 secunde acum am luat 0 ![Brick wall](http://www.infoarena.ro/forum/Smileys/default/wallbash.gif) de ce imi iese din timp uite programul #include<stdio.h> long v[1001],s,e,r,i,n,j; int main() { freopen("cifra.in","r",stdin); freopen("cifra.out","w",stdout); scanf("%ld",&n); for (i=1;i<=n;i++) scanf("%ld",&v[i]); for (i=1;i<=n;i++) { r=v[i]/10; e=v[i]%10; if (r>0) s=1; else s=0; for (j=1;j<=r;j++) s=s*7; if (e==1) s=s+1; if (e==2) s=s+5; if (e==3) s=s+2; if (e==4) s=s+8; if (e==5) s=s+3; if (e==6) s=s+9; if (e==7) s=s+2; if (e==8) s=s+8; if (e==9) s=s+7; printf("%ld\n",s%10); } }
[editat de moderator] foloseste tag-ul "code" cand postezi cod pe forum
|
|
« Ultima modificare: Septembrie 07, 2010, 17:59:22 de către Sima Cotizo »
|
Memorat
|
|
|
|
•vladtarniceru
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #230 : Septembrie 07, 2010, 10:23:34 » |
|
problema e cu numere mari, deci rezolvarea ta nu are cum sa mearga. in primul rand tu le citesti ca numere mici, in restrictiile problemei spune ca: ATENTIE! 1 ≤ N < 10^100. Numerele trebuie citite ca siruri de caractere! 10^100 inseamna 10 la puterea 100, deci un numar care nu intra in long (care admite 10 cifre maxim) in al doilea rand nici rezolvarea nu mi se pare tocmai buna Hint : incearca sa generezi primele 500 de numere asa, sa vezi daca este vreo regula dupa care se repeta sau ceva (sau citeste ce a zis teodor pripoae mai sus ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif) ) ![Whistle](http://www.infoarena.ro/forum/Smileys/default/whistling.gif) succes ! ![peacefingers](http://www.infoarena.ro/forum/Smileys/default/peacefingers.gif)
|
|
« Ultima modificare: Septembrie 07, 2010, 19:16:34 de către Vlad Tarniceru »
|
Memorat
|
|
|
|
•UrsuFilip
Strain
Karma: 0
Deconectat
Mesaje: 1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #231 : Noiembrie 10, 2010, 18:10:22 » |
|
nu stiu ce am gresit ma puteti ajuta? am luat 10 pct
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #232 : Noiembrie 10, 2010, 18:12:23 » |
|
1. Editeaza-ti mesajele 2. Nu stiu unde vezi tu 10 pct, ca eu nu vad nicio sursa trimisa de tine.
|
|
|
Memorat
|
|
|
|
•Alexandru13
Strain
Karma: 1
Deconectat
Mesaje: 5
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #233 : Decembrie 07, 2010, 16:40:42 » |
|
fratilor ce trebuie sa fac la eroarea asta?
error: invalid operands of types `double' and `int' to binary ` operator%'
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #234 : Decembrie 07, 2010, 16:51:21 » |
|
Din cate banuiesc, ai facut ceva de genul : X % Y, unde X e de tip double. Modulo se aplica doar la numere intregi .
|
|
|
Memorat
|
|
|
|
•devilrom16
Strain
Karma: 0
Deconectat
Mesaje: 1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #235 : Decembrie 23, 2010, 18:20:36 » |
|
Imi poate explica si mie cineva de ce nu primesc nici un punct pt programul asta #include<fstream.h> #include<iostream.h> int main() {unsigned int v[11],v1[10000],i,n,s,aux; ifstream f("cifra.in"); ofstream g("cifra.out"); f>>n; v[0]=0;v[1]=1;v[2]=5;v[3]=2;v[4]=8;v[5]=3;v[6]=9;v[7]=2;v[8]=8;v[9]=7; for(i=0;i<n;i++) f>>v1[i]; for(i=0;i<n;i++) {s=v1[i]%10; aux=v1[i]/10; g<<(aux*7+v[s])%10<<endl; } f.close(); g.close(); return 0; } pentru valorile de pana la 21 marge la fel si pentru o valoare oarecare ,cel putin la mine Editat de moderator : Foloseste tagurile [ code ] [ /code ] cand postezi cod
|
|
« Ultima modificare: Decembrie 23, 2010, 21:17:45 de către Gabriel Bitis »
|
Memorat
|
|
|
|
•dornescuvlad
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #236 : Decembrie 23, 2010, 19:18:52 » |
|
Pentru aceasta problema accesul la toate sursele trimise este liber! Ia o sursa, baga valori sa vezi ca nu-ti da bine pentru toate.
|
|
|
Memorat
|
|
|
|
•gabitzish1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #237 : Februarie 16, 2011, 08:49:49 » |
|
|
|
« Ultima modificare: Februarie 16, 2011, 12:18:40 de către Savin Tiberiu »
|
Memorat
|
|
|
|
•obidan
Strain
Karma: 0
Deconectat
Mesaje: 1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #238 : Martie 23, 2011, 23:23:34 » |
|
Am si eu o nelamurire, cum v-ati dat seama ca se repeta ultima cifra din 20 in 20? Exista o demonstratie matematica sau...?
|
|
|
Memorat
|
|
|
|
•alexutzu29
Strain
Karma: -1
Deconectat
Mesaje: 3
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #239 : Martie 28, 2011, 19:20:15 » |
|
![Confused](http://www.infoarena.ro/forum/Smileys/default/unsure.gif) Umm, imi explica si mie cineva ce este acest vector (l-am luat dintr-o sursa): int a[100]={0 ,1 ,5 ,2 ,8 ,3 ,9 ,2 ,8 ,7 ,7 ,8 ,4 ,7 ,3 ,8 ,4 ,1 ,5 ,4 ,4 ,5 ,9 ,6,2 ,7 ,3 ,6 ,2 ,1 ,1 ,2 ,8 ,1 ,7 ,2 ,8 ,5 ,9 ,8 ,8 ,9 ,3 ,0 ,6 ,1 ,7 ,0 ,6 ,5 ,5 ,6 ,2 ,5 ,1 ,6 ,2 ,9 ,3 ,2 ,2 ,3 ,7 ,4 ,0 ,5 ,1 ,4 ,0 ,9 ,9 ,0 ,6 ,9 ,5 ,0 ,6 ,3 ,7 ,6 ,6 ,7 ,1 ,8 ,4 ,9 ,5 ,8 ,4 ,3 ,3 ,4,0 ,3 ,9 ,4 ,0 ,7 ,1 ,0}; Adica ce contine(ce semnifica toate acele cifre). P.S.: Este din sursa lui Tutunaru Andrei. ![Embarassed](http://www.infoarena.ro/forum/Smileys/default/newblush.gif)
|
|
|
Memorat
|
|
|
|
•@Lyn
Strain
Karma: 1
Deconectat
Mesaje: 4
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #240 : Aprilie 07, 2011, 12:34:30 » |
|
tocmai am facut problema cifra si am citit intrebarea ta (alex) vectoru ala de 100 reprezinta ultima cifra a sumei pana la acel indice de exemplu sir[2]=5 deci 5 o sa fie ultima cifra a sumei pana la 2... poate te intrebi la ce foloseste asta ei bine poti observa ca ultima cifra la suma se repeta din 100 in 100 deci ajunge sa calculezi o data ultima cifra pana la 100 si apoi faci afisare de vector[testul%100]
sper ca ai inteles ce ti-am explicat... daca nu dami un pm siti explic mai amanuntit
|
|
|
Memorat
|
|
|
|
•mening12001
Strain
Karma: -13
Deconectat
Mesaje: 14
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #241 : Iunie 16, 2011, 23:15:29 » |
|
este posibil sa primesc testele?
|
|
|
Memorat
|
|
|
|
•pauldb
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #242 : Iunie 17, 2011, 00:35:32 » |
|
Nu. Testele de la problemele din arhiva principala nu se fac publice.
|
|
|
Memorat
|
Am zis ![Mr. Green](http://www.infoarena.ro/forum/Smileys/default/mrgreen.gif)
|
|
|
•AdaSoare
Strain
Karma: 0
Deconectat
Mesaje: 1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #243 : Ianuarie 25, 2012, 22:50:44 » |
|
Am si eu o intrebare.De ce punctajul la problema este 0 daca mie im calculator imi rezolva complet problema? Am inteles ca se tine cont si daca problema este rezolvata optim,dar totusi,0 puncte? Multumesc. ![Very Happy](http://www.infoarena.ro/forum/Smileys/default/biggrin.gif) #include<iostream> #include<fstream> using namespace std; int main() {int n,y=1,s=0,z,p; ifstream f1("cifra.in"); ofstream f2("cifra.out"); f1>>n; while(y<=n) {z=y;p=1; while(z!=0) {p=p*y; z--;} s=s+p; y++; f2<<s%10; f2<<endl; f1>>n;} f1.close(); f2.close(); return 0;}
|
|
|
Memorat
|
|
|
|
•cosmyo
Strain
Karma: 1
Deconectat
Mesaje: 14
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #244 : Ianuarie 26, 2012, 04:11:37 » |
|
In primul rand nu citesti toate numerele si n-ul poate sa fie de maxim 100 de cifre. Plus ca rezolvarea ta nu e optima. Trebuie sa citesti cu atentie enuntul.
|
|
|
Memorat
|
|
|
|
•Skarrian
Strain
Karma: 0
Deconectat
Mesaje: 1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #245 : Februarie 07, 2012, 22:52:43 » |
|
Salut! Am facut si eu problema si mie imi merge bine programul pentru toate valorile N. Totusi, sistemul de verificare imi da 0 puncte. Va puteti uita putin peste el? Nu stiu de ce nu merge. #include<fstream> #include<math.h> using namespace std; int main(){ int t,n,s=0,i,j,r; ifstream f("cifra.in"); ofstream g("cifra.out"); f>>t; if(t>=1&&t<=30000) for(i=1;i<=t;i++){ f>>n; if(n>=1&&n<pow(10,100)) for(j=1;j<=n;j++){ s=s+pow(j,j); } r=s%10; g<<r<<endl; s=0; } f.close(); g.close(); }
|
|
|
Memorat
|
|
|
|
•misino
Strain
Karma: 10
Deconectat
Mesaje: 40
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #246 : Februarie 28, 2012, 19:46:55 » |
|
imi spuneti si mie ce am gresit ? #include<cstdio> #include<cstring> using namespace std; FILE *f,*g; int n,uc,i,a[10]; char c,c1,c2; int main() {f=fopen("cifra.in","r"); g=fopen("cifra.out","w"); fscanf(f,"%d%c",&n,&c); a[0]=0; a[1]=1; a[2]=5; a[3]=2; a[4]=8; a[5]=3; a[6]=9; a[7]=2; a[8]=8; a[9]=7; for(i=1;i<=n;++i) {fscanf(f,"%c",&c); c1=48; c2=48; while(c!='\n') {c2=c1; c1=c; fscanf(f,"%c",&c); } uc=((c2-48)*7+a[c1-48])%10; fprintf(g,"%d\n",uc); } fclose(f); fclose(g); return 0; }
|
|
« Ultima modificare: Februarie 28, 2012, 21:47:37 de către Andrei Grigorean »
|
Memorat
|
|
|
|
|
•soriyn
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #248 : Mai 09, 2012, 19:04:31 » |
|
Depasesti timpul de executie care nu e influentat de numarul de variabile(decat in cazul in care ai declara niste vectori mai mari sau , ma rog, mai multa memorie). Ti se spune la precizari ca N-ul poate avea pana la 100 de cifre, deci nu se incadreaza in niciun tip de date. Problema nu se face cum ai incercat tu, adica sa calculezi efectiv acea valoare, ci se bazeaza pe niste observatii matematice. Citeste ce s-a mai scris pe topicul asta si gasesti destule idei.
|
|
|
Memorat
|
|
|
|
•andreii1
Strain
Karma: 4
Deconectat
Mesaje: 23
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #249 : Mai 23, 2012, 09:16:09 » |
|
Imi poate spune si mie cineva, va rog frumos, cum imi poate iesi din timp problema aceasta ![Very Happy](http://www.infoarena.ro/forum/Smileys/default/biggrin.gif)
|
|
|
Memorat
|
|
|
|
|