Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int a,i=1; //tuka gi pochnuvam za da postojat ushe od start
- //i=1 za start
- int brojach(int nesho) { //funkcija so celobrojna vrednost
- if(i==1) a=nesho%10; //ako e prviot chekor od fcijata, da se najde najmaliot chlen
- i++;//da se gleda deka ne e vekje prv chekor, za da ostane vrednosta na a=xxx...a
- if(nesho/10==0) //ako brojot/10=0, toa znachi deka toa e najznachajna cifra
- { //vo toj sluchaj proveruvame 2 sluchai
- if(nesho%10!=a) return 0; //ako ne e ednakov na a, togash nishto nema da dodademe
- if(nesho%10==a) return 1; //ako e ednakov na a, togash se dodava plus 1
- }
- if(nesho%10==a) //ako poslednata cifra e od momentalnata verzija na brojot
- { //e ednakva na zapamtenoto a togash
- return 1+brojach(nesho/10); //se sobira rekurzivno
- //biten moment e /10, na toj nachin vo slednoto inception
- //povtoruvanje kje se izbrishe poslednata cifra
- //i posledna kje stane ustvari pretposlednata
- //taka kje se deshava se dodeka da stigne do najlevata cifra
- //vo prethodnite ifovci e resheno toa
- }
- //a ako ne e deliva so 10
- return brojach(nesho/10); //togash samo se povikuva bez da sobere plus 1
- }
- int main() {
- int j=1;//ova za forovcite dole
- int n;//golemina na niza
- int a;//neam pojma zasho stoi tuka iskreno xD na koi drogi sum bil
- scanf("%d",&n); //vnes na golemina na niza
- int broj[n]; //
- for(j=1;j<=n;j++)
- {
- scanf("%d",&broj[j]);
- //scanf("%d",&a);
- //ova se drugata verzija bez niza ako se odi,
- //vo toj sluchaj kje se izbrishe sve so niza
- //printf("%d", brojach(a));
- }
- for(j=1;j<=n;j++)
- {
- printf("%d ", brojach(broj[j])); //kje gi printa direkt tuka
- i=1; //ova da se resetira za povtoruvanja deka fcijata se odviva prv pat
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement