Pagini: 1 ... 8 9 [10] 11 12   În jos
  Imprimă  
Ajutor Subiect: 008 Cifra  (Citit de 110297 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #225 : Mai 27, 2010, 11:18:13 »

Citat
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
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #226 : Mai 27, 2010, 12:01:08 »

Salut...am scos si eu ceva,insa nu functioneaza cum trebuie:
Cod:
#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 Deconectat

Mesaje: 1



Vezi Profilul
« 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
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« 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 Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #229 : Septembrie 07, 2010, 09:45:50 »

de ce trebuie sa puna timp 0,1 secunde
acum am luat 0 Brick wall
de ce imi iese din timp
uite programul
Cod:
#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
De-al casei
***

Karma: 81
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« 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  Think

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 ) Whistle

succes ! peacefingers
« Ultima modificare: Septembrie 07, 2010, 19:16:34 de către Vlad Tarniceru » Memorat
UrsuFilip
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #231 : Noiembrie 10, 2010, 18:10:22 »

nu stiu ce am gresit ma puteti ajuta?
am luat 10 pct
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« 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 Deconectat

Mesaje: 5



Vezi Profilul
« 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
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« 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 Deconectat

Mesaje: 1



Vezi Profilul
« 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

Cod:
#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 Whistle

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
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« 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
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #237 : Februarie 16, 2011, 08:49:49 »

Discutia pe subiectul pascal vs C a fost mutata în Feedback infoarena.

http://infoarena.ro/forum/index.php?topic=5272.0
« Ultima modificare: Februarie 16, 2011, 12:18:40 de către Savin Tiberiu » Memorat
obidan
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« 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 Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #239 : Martie 28, 2011, 19:20:15 »

 Confused 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
Memorat
@Lyn
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« 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 Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #241 : Iunie 16, 2011, 23:15:29 »

este posibil sa primesc testele?
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« 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
AdaSoare
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« 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

#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 Deconectat

Mesaje: 14



Vezi Profilul
« 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 Deconectat

Mesaje: 1



Vezi Profilul
« 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.

Cod:
#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 Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #246 : Februarie 28, 2012, 19:46:55 »

imi spuneti si mie ce am gresit ?
Cod:
#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
thevic
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #247 : Mai 09, 2012, 18:36:19 »

Depasire, din ce cauza? Am scazut numarul variabilelor la minimum. Job'ul: http://infoarena.ro/job_detail/744765
Memorat
soriyn
Vorbaret
****

Karma: 24
Deconectat Deconectat

Mesaje: 150



Vezi Profilul
« 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 Deconectat

Mesaje: 23



Vezi Profilul
« 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
Memorat
Pagini: 1 ... 8 9 [10] 11 12   În sus
  Imprimă  
 
Schimbă forumul:  

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