cnnb.MyForum.ro
 
Advanced Search
   
 
Home Inregistrare FAQ Membri Grupuri  
 
 

Pagina de start a forumului cnnb.MyForum.ro Probleme, solutii Problema 1
Afiseaza mesajele pentru a le previzualiza:   
      Ora este GMT + 3 ore  
Creaza un subiect nou  Raspunde la subiect

02/10/2007 17:29
Autor Mesaj
cripton
Administrator
Administrator


Data inscrierii: 27/Sep/2007
Mesaje: 9

Titlul subiectului: Problema 1 Raspunde cu citat (quote)

cifre



Fie N un numar normal nenul. Scriind în ordine, unul dupa altul, toate numerele naturale de la 1 la N obtinem o secventa de cifre. De exemplu, pentru N=22 obtinem:
12345678910111213141516171819202122

Cerinta
Scrieti un program care sa determine numarul de cifre dintr-o astfel de secventa.

Restrictii

1<=N<=1 000 000 000

Timp maxim de executie/test: 0.1 secunde
 
Vezi profilul utilizatorului Trimite mesaj privat
      Back To Top  

02/10/2007 18:49
Autor Mesaj
Rugina Sorin Alexandru
Junior
Junior


Data inscrierii: 02/Oct/2007
Mesaje: 6
Localitate: Braila

Titlul subiectului: Raspunde cu citat (quote)

program cifre;
var k,n,m,i,q:longint;
begin
write('n=');readln(n);
q:=0;m:=1;k:=1;
for i:=1 to n do
if i div 10=0 then
q:=q+1
else
begin
repeat
m:=m*10;
k:=k+1;
until (1<=i div m) and (i div m<=9)
q:=q+k;
m:=1;k:=1;
end;
write('Numarul de cifre este egal cu ',q);
end.


Ultima modificare efectuata Rugina Sorin Alexandru la 02/10/2007 20:09, modificat de 4 ori in total
 
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
      Back To Top  

02/10/2007 18:53
Autor Mesaj
Rugina Sorin Alexandru
Junior
Junior


Data inscrierii: 02/Oct/2007
Mesaje: 6
Localitate: Braila

Titlul subiectului: Raspunde cu citat (quote)

Aceasta este rezolvarea in Borland Pascal. :-)
 
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
      Back To Top  

06/10/2007 17:28
Autor Mesaj
cripton
Administrator
Administrator


Data inscrierii: 27/Sep/2007
Mesaje: 9

Titlul subiectului: Raspunde cu citat (quote)

Rezolvarea este OK. Astept insa o solutie care sa intre in 0.1 secunde (formula)
 
Vezi profilul utilizatorului Trimite mesaj privat
      Back To Top  

08/10/2007 19:28
Autor Mesaj
Rugina Sorin Alexandru
Junior
Junior


Data inscrierii: 02/Oct/2007
Mesaje: 6
Localitate: Braila

Titlul subiectului: Raspunde cu citat (quote)

program cifre;
var q,n,d,i:longint;
begin
read(n);q=0;
for i:=1 to n do begin
d:=1+trunc(ln(i)/ln(10));
q:=q+d;
end;
writeln(q);
end.
 
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
      Back To Top  

08/10/2007 19:30
Autor Mesaj
Rugina Sorin Alexandru
Junior
Junior


Data inscrierii: 02/Oct/2007
Mesaje: 6
Localitate: Braila

Titlul subiectului: Raspunde cu citat (quote)

Am gasit o formula. Din nefericire, rezolvarea are in componenta logaritmi. :weep:
 
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
      Back To Top  
Creaza un subiect nou  Raspunde la subiect

 
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum


      Back To Top  

Pagina 1 din 1
Mergi direct la:  
Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro