Sari la conținut
Forum Roportal
lcz

va rog mult, ajutati-ma!

Postări Recomandate

:doh: sa se calculeze de cate ori se regaseste cifra c in numerele intregi mai mici sau egale dacat n dat

exemplu: in nr. 79325, c=5 de 41763

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Faci o functie care gaseste de cate ori apare cifra C in numarul X, unde X<=N, si apoi cu un contor, calculezi si aduni rezultatele partiale. Ce e asa greu?

Partajează acest post


Link spre post
Distribuie pe alte site-uri
:doh: sa se calculeze de cate ori se regaseste cifra c in numerele intregi mai mici sau egale dacat n dat

exemplu: in nr. 79325, c=5 de 41763

 

Da, scrii o functie, e simplu; uite eu iti scriu functia in Visual Fox si tu o rescrii apoi in c++

 

----nmax=79325

----cifra="5"

 

function cnt_cifra

parameter nmax,cifra

mycnt = 0

for i = 1 to nmax

mysir = str(i)

for j = 1 to len(mysir))

if substr(mysir,j,1) = cifra

mycnt = mycnt+1

endif

endfor

endfor

return mycnt

 

Succes!

Editat de madalina_

Partajează acest post


Link spre post
Distribuie pe alte site-uri

multumesc mult,

 

sunt la inceput de drum, fac pregatire particular si nu am ajuns la functii. Am facut doar instructiuni. Ce este simplu pentru voi pentru mine este f. greu!!!! "5" era un exemplu dar poate sa fie orice cifra din nr. respectiv

Partajează acest post


Link spre post
Distribuie pe alte site-uri

uite cum s-ar implementa asta in python :focus:

n= input("baga numarul: ")
c = str(input("baga cifra: "))
print len([i for i in range(n) if c in str(i)])

 

tradus in romana e

n ia valoarea ce se introduce de la promter

c ia valoarea ce se introduce de la promter convertita la un sir de caractere

tipareste lungimea unui sir de numere ce sunt selectate din toate numerele pana la n daca cifra c este in reprezentarea sub forma de sir a numarului.

Editat de Cavaleru' Jedi

Partajează acest post


Link spre post
Distribuie pe alte site-uri

probabil stiti toti...."jokuletul" ala.....sa desenezi o csautza cu un X in interior....fara sa ridici pixul de pe foaie...whatever.....sa nu trcei de 2 ori prin acesi mukie si fiecare varf sa aiba maxim 2 atingeri....sa se afiseze solutiile.. am reusit ceva cu backtraking.....insa mai am putzin de lucrat..ideea e ca ma kinui de 2 luni sa`i dau de capat....si nimeni nu reuseste sa ma ajute..anybody..help????!!

Partajează acest post


Link spre post
Distribuie pe alte site-uri
probabil stiti toti...."jokuletul" ala.....sa desenezi o csautza cu un X in interior....fara sa ridici pixul de pe foaie...whatever.....sa nu trcei de 2 ori prin acesi mukie si fiecare varf sa aiba maxim 2 atingeri....sa se afiseze solutiile.. am reusit ceva cu backtraking.....insa mai am putzin de lucrat..ideea e ca ma kinui de 2 luni sa`i dau de capat....si nimeni nu reuseste sa ma ajute..anybody..help????!!

Incearca cu arbori! :angry:

Partajează acest post


Link spre post
Distribuie pe alte site-uri
probabil stiti toti...."jokuletul" ala.....sa desenezi o csautza cu un X in interior....fara sa ridici pixul de pe foaie...whatever.....sa nu trcei de 2 ori prin acesi mukie si fiecare varf sa aiba maxim 2 atingeri....sa se afiseze solutiile.. am reusit ceva cu backtraking.....insa mai am putzin de lucrat..ideea e ca ma kinui de 2 luni sa`i dau de capat....si nimeni nu reuseste sa ma ajute..anybody..help????!!

 

uite cum arata solutia in python

 

lines = ['AB', 'BC', 'CD','DE', 'EA', 'BE', 'AD', 'BD'] # liniile posibile
points = 'ABCDE' #puncte

def find_sol(orig, set, sol, tc):
if not len(set): #daca nu exista nici un element in set inseamna ca-s toate in solutie (solutie completa)
	print sol, tc #tipareste solutia si contorul de atingeri

for elem in set: #pentru fiecare element din setul ramas
	if orig in elem and tc[points.index(orig)]<2: #daca segmentul contine punctul in care suntem 
		tc_new = tc[:] # copie contorul de atingeri
		tc_new[points.index(orig)] +=1 #incrementeaza pentru punctul curent
		new_set = set[:] #copie vechiul set (pentru a fi modificat)
		new_set.pop(set.index(elem)) #scoate segmentul 
		if elem[0] != orig: #daca punctele segmentului sunt inversate 
			elem = elem[1]+elem[0] # face rocada dintre puncte pentru a prezenta solutia coerent
		s = sol[:] #copie solutia prezenta
		s.append(elem) # adauga segmentul scos din set
		find_sol(elem[1], new_set, s, tc_new) # cheama recursiv functia cu, noul punct, noul set, noua bucata de solutie si contorul de atingeri

for point in points: # pentru fiecare punct de plecare 
print "Solutii pentru punctul de plecare %s"%point
find_sol(point, lines, [], [0,0,0,0,0]) # cauta solutiile

 

rezultatul e:

 

Solutii pentru punctul de plecare A

['AB', 'BC', 'CD', 'DE', 'EA', 'AD', 'DB', 'BE'] [2, 2, 1, 2, 1]

['AB', 'BC', 'CD', 'DE', 'EB', 'BD', 'DA', 'AE'] [2, 2, 1, 2, 1]

['AB', 'BC', 'CD', 'DA', 'AE', 'ED', 'DB', 'BE'] [2, 2, 1, 2, 1]

['AB', 'BC', 'CD', 'DA', 'AE', 'EB', 'BD', 'DE'] [2, 2, 1, 2, 1]

['AB', 'BC', 'CD', 'DB', 'BE', 'ED', 'DA', 'AE'] [2, 2, 1, 2, 1]

['AB', 'BC', 'CD', 'DB', 'BE', 'EA', 'AD', 'DE'] [2, 2, 1, 2, 1]

['AB', 'BE', 'ED', 'DC', 'CB', 'BD', 'DA', 'AE'] [2, 2, 1, 2, 1]

['AB', 'BE', 'ED', 'DB', 'BC', 'CD', 'DA', 'AE'] [2, 2, 1, 2, 1]

['AB', 'BE', 'EA', 'AD', 'DC', 'CB', 'BD', 'DE'] [2, 2, 1, 2, 1]

['AB', 'BE', 'EA', 'AD', 'DB', 'BC', 'CD', 'DE'] [2, 2, 1, 2, 1]

['AB', 'BD', 'DC', 'CB', 'BE', 'ED', 'DA', 'AE'] [2, 2, 1, 2, 1]

['AB', 'BD', 'DC', 'CB', 'BE', 'EA', 'AD', 'DE'] [2, 2, 1, 2, 1]

['AB', 'BD', 'DE', 'EA', 'AD', 'DC', 'CB', 'BE'] [2, 2, 1, 2, 1]

['AB', 'BD', 'DE', 'EB', 'BC', 'CD', 'DA', 'AE'] [2, 2, 1, 2, 1]

['AB', 'BD', 'DA', 'AE', 'ED', 'DC', 'CB', 'BE'] [2, 2, 1, 2, 1]

['AB', 'BD', 'DA', 'AE', 'EB', 'BC', 'CD', 'DE'] [2, 2, 1, 2, 1]

['AE', 'ED', 'DC', 'CB', 'BA', 'AD', 'DB', 'BE'] [2, 2, 1, 2, 1]

['AE', 'ED', 'DC', 'CB', 'BD', 'DA', 'AB', 'BE'] [2, 2, 1, 2, 1]

['AE', 'ED', 'DA', 'AB', 'BC', 'CD', 'DB', 'BE'] [2, 2, 1, 2, 1]

['AE', 'ED', 'DA', 'AB', 'BD', 'DC', 'CB', 'BE'] [2, 2, 1, 2, 1]

['AE', 'ED', 'DB', 'BA', 'AD', 'DC', 'CB', 'BE'] [2, 2, 1, 2, 1]

['AE', 'ED', 'DB', 'BC', 'CD', 'DA', 'AB', 'BE'] [2, 2, 1, 2, 1]

['AE', 'EB', 'BA', 'AD', 'DC', 'CB', 'BD', 'DE'] [2, 2, 1, 2, 1]

['AE', 'EB', 'BA', 'AD', 'DB', 'BC', 'CD', 'DE'] [2, 2, 1, 2, 1]

['AE', 'EB', 'BC', 'CD', 'DA', 'AB', 'BD', 'DE'] [2, 2, 1, 2, 1]

['AE', 'EB', 'BC', 'CD', 'DB', 'BA', 'AD', 'DE'] [2, 2, 1, 2, 1]

['AE', 'EB', 'BD', 'DC', 'CB', 'BA', 'AD', 'DE'] [2, 2, 1, 2, 1]

['AE', 'EB', 'BD', 'DA', 'AB', 'BC', 'CD', 'DE'] [2, 2, 1, 2, 1]

['AD', 'DC', 'CB', 'BA', 'AE', 'ED', 'DB', 'BE'] [2, 2, 1, 2, 1]

['AD', 'DC', 'CB', 'BA', 'AE', 'EB', 'BD', 'DE'] [2, 2, 1, 2, 1]

['AD', 'DC', 'CB', 'BE', 'ED', 'DB', 'BA', 'AE'] [2, 2, 1, 2, 1]

['AD', 'DC', 'CB', 'BE', 'EA', 'AB', 'BD', 'DE'] [2, 2, 1, 2, 1]

['AD', 'DC', 'CB', 'BD', 'DE', 'EA', 'AB', 'BE'] [2, 2, 1, 2, 1]

['AD', 'DC', 'CB', 'BD', 'DE', 'EB', 'BA', 'AE'] [2, 2, 1, 2, 1]

['AD', 'DE', 'EA', 'AB', 'BC', 'CD', 'DB', 'BE'] [2, 2, 1, 2, 1]

['AD', 'DE', 'EA', 'AB', 'BD', 'DC', 'CB', 'BE'] [2, 2, 1, 2, 1]

['AD', 'DE', 'EB', 'BC', 'CD', 'DB', 'BA', 'AE'] [2, 2, 1, 2, 1]

['AD', 'DE', 'EB', 'BD', 'DC', 'CB', 'BA', 'AE'] [2, 2, 1, 2, 1]

['AD', 'DB', 'BA', 'AE', 'ED', 'DC', 'CB', 'BE'] [2, 2, 1, 2, 1]

['AD', 'DB', 'BA', 'AE', 'EB', 'BC', 'CD', 'DE'] [2, 2, 1, 2, 1]

['AD', 'DB', 'BC', 'CD', 'DE', 'EA', 'AB', 'BE'] [2, 2, 1, 2, 1]

['AD', 'DB', 'BC', 'CD', 'DE', 'EB', 'BA', 'AE'] [2, 2, 1, 2, 1]

['AD', 'DB', 'BE', 'ED', 'DC', 'CB', 'BA', 'AE'] [2, 2, 1, 2, 1]

['AD', 'DB', 'BE', 'EA', 'AB', 'BC', 'CD', 'DE'] [2, 2, 1, 2, 1]

Solutii pentru punctul de plecare B

Solutii pentru punctul de plecare C

Solutii pentru punctul de plecare D

Solutii pentru punctul de plecare E

['ED', 'DC', 'CB', 'BA', 'AE', 'EB', 'BD', 'DA'] [1, 2, 1, 2, 2]

['ED', 'DC', 'CB', 'BA', 'AD', 'DB', 'BE', 'EA'] [1, 2, 1, 2, 2]

['ED', 'DC', 'CB', 'BE', 'EA', 'AB', 'BD', 'DA'] [1, 2, 1, 2, 2]

['ED', 'DC', 'CB', 'BE', 'EA', 'AD', 'DB', 'BA'] [1, 2, 1, 2, 2]

['ED', 'DC', 'CB', 'BD', 'DA', 'AB', 'BE', 'EA'] [1, 2, 1, 2, 2]

['ED', 'DC', 'CB', 'BD', 'DA', 'AE', 'EB', 'BA'] [1, 2, 1, 2, 2]

['ED', 'DA', 'AB', 'BC', 'CD', 'DB', 'BE', 'EA'] [1, 2, 1, 2, 2]

['ED', 'DA', 'AB', 'BD', 'DC', 'CB', 'BE', 'EA'] [1, 2, 1, 2, 2]

['ED', 'DA', 'AE', 'EB', 'BC', 'CD', 'DB', 'BA'] [1, 2, 1, 2, 2]

['ED', 'DA', 'AE', 'EB', 'BD', 'DC', 'CB', 'BA'] [1, 2, 1, 2, 2]

['ED', 'DB', 'BA', 'AE', 'EB', 'BC', 'CD', 'DA'] [1, 2, 1, 2, 2]

['ED', 'DB', 'BA', 'AD', 'DC', 'CB', 'BE', 'EA'] [1, 2, 1, 2, 2]

['ED', 'DB', 'BC', 'CD', 'DA', 'AB', 'BE', 'EA'] [1, 2, 1, 2, 2]

['ED', 'DB', 'BC', 'CD', 'DA', 'AE', 'EB', 'BA'] [1, 2, 1, 2, 2]

['ED', 'DB', 'BE', 'EA', 'AB', 'BC', 'CD', 'DA'] [1, 2, 1, 2, 2]

['ED', 'DB', 'BE', 'EA', 'AD', 'DC', 'CB', 'BA'] [1, 2, 1, 2, 2]

['EA', 'AB', 'BC', 'CD', 'DE', 'EB', 'BD', 'DA'] [1, 2, 1, 2, 2]

['EA', 'AB', 'BC', 'CD', 'DB', 'BE', 'ED', 'DA'] [1, 2, 1, 2, 2]

['EA', 'AB', 'BE', 'ED', 'DC', 'CB', 'BD', 'DA'] [1, 2, 1, 2, 2]

['EA', 'AB', 'BE', 'ED', 'DB', 'BC', 'CD', 'DA'] [1, 2, 1, 2, 2]

['EA', 'AB', 'BD', 'DC', 'CB', 'BE', 'ED', 'DA'] [1, 2, 1, 2, 2]

['EA', 'AB', 'BD', 'DE', 'EB', 'BC', 'CD', 'DA'] [1, 2, 1, 2, 2]

['EA', 'AD', 'DC', 'CB', 'BE', 'ED', 'DB', 'BA'] [1, 2, 1, 2, 2]

['EA', 'AD', 'DC', 'CB', 'BD', 'DE', 'EB', 'BA'] [1, 2, 1, 2, 2]

['EA', 'AD', 'DE', 'EB', 'BC', 'CD', 'DB', 'BA'] [1, 2, 1, 2, 2]

['EA', 'AD', 'DE', 'EB', 'BD', 'DC', 'CB', 'BA'] [1, 2, 1, 2, 2]

['EA', 'AD', 'DB', 'BC', 'CD', 'DE', 'EB', 'BA'] [1, 2, 1, 2, 2]

['EA', 'AD', 'DB', 'BE', 'ED', 'DC', 'CB', 'BA'] [1, 2, 1, 2, 2]

['EB', 'BA', 'AE', 'ED', 'DC', 'CB', 'BD', 'DA'] [1, 2, 1, 2, 2]

['EB', 'BA', 'AE', 'ED', 'DB', 'BC', 'CD', 'DA'] [1, 2, 1, 2, 2]

['EB', 'BA', 'AD', 'DC', 'CB', 'BD', 'DE', 'EA'] [1, 2, 1, 2, 2]

['EB', 'BA', 'AD', 'DB', 'BC', 'CD', 'DE', 'EA'] [1, 2, 1, 2, 2]

['EB', 'BC', 'CD', 'DE', 'EA', 'AB', 'BD', 'DA'] [1, 2, 1, 2, 2]

['EB', 'BC', 'CD', 'DE', 'EA', 'AD', 'DB', 'BA'] [1, 2, 1, 2, 2]

['EB', 'BC', 'CD', 'DA', 'AB', 'BD', 'DE', 'EA'] [1, 2, 1, 2, 2]

['EB', 'BC', 'CD', 'DA', 'AE', 'ED', 'DB', 'BA'] [1, 2, 1, 2, 2]

['EB', 'BC', 'CD', 'DB', 'BA', 'AE', 'ED', 'DA'] [1, 2, 1, 2, 2]

['EB', 'BC', 'CD', 'DB', 'BA', 'AD', 'DE', 'EA'] [1, 2, 1, 2, 2]

['EB', 'BD', 'DC', 'CB', 'BA', 'AE', 'ED', 'DA'] [1, 2, 1, 2, 2]

['EB', 'BD', 'DC', 'CB', 'BA', 'AD', 'DE', 'EA'] [1, 2, 1, 2, 2]

['EB', 'BD', 'DE', 'EA', 'AB', 'BC', 'CD', 'DA'] [1, 2, 1, 2, 2]

['EB', 'BD', 'DE', 'EA', 'AD', 'DC', 'CB', 'BA'] [1, 2, 1, 2, 2]

['EB', 'BD', 'DA', 'AB', 'BC', 'CD', 'DE', 'EA'] [1, 2, 1, 2, 2]

['EB', 'BD', 'DA', 'AE', 'ED', 'DC', 'CB', 'BA'] [1, 2, 1, 2, 2]

 

Observatii... nu sunt solutii decat daca se pleaca din A.... cele din E sunt doar o oglindire a solutiilor din A

 

Sper sa te ajute cu ceva :angry:

Partajează acest post


Link spre post
Distribuie pe alte site-uri

thx guys....cu arbori.....nu prea vad eu cum se poate......orikum..ms moolt.....eh..am abia 3 ani de c++ ...inka am de invatzat....insa ma obsedeaza problema asta,si nu ma las pan n`o rezolv..... (Btw.. sa dat la olimpiada nationala aqu` 2 ani )

Partajează acest post


Link spre post
Distribuie pe alte site-uri
Vizitator
Acest topic este acum închis pentru alte răspunsuri.

×