WikiStart: funk.txt

File funk.txt, 12.5 KB (added by 152071, 6 years ago)
Line 
1broj vo broj
2#include <stdio.h>
3#include <stdlib.h>
4int broj_vo_broj(int br1,int br2)
5{
6 if(br1==0)
7 {
8 return 0;
9 }
10 int broj1 = br1;
11 int broj2=br2;
12 while ((broj1%10)==(broj2%10)&&broj2!=0)
13 {
14 broj1/=10;
15 broj2/=10;
16 }
17
18 if (broj2==0)
19 {
20 return 1 + broj_vo_broj(broj1,br2);
21 }
22
23 return 0 + broj_vo_broj(br1/10,br2);
24
25}
26
27int main()
28{
29 int n;
30 scanf("%d",&n);
31 while (n-- > 0)
32 {
33 int a,b;
34 scanf ("%d%d",&a,&b);
35 printf ("%d\n",broj_vo_broj(a,b));
36
37 }
38
39 return 0;
40}
41
42deficitni br.
43#include <stdio.h>
44#include <stdlib.h>
45
46int suma (int broj, int del)
47{
48 if(broj==0 || del==0)
49 {
50 return 0;
51 }
52
53 if(broj%del==0)
54 {
55 return del + suma(broj,del-1);
56 }
57
58 else
59 {
60 return 0 + suma(broj,del-1);
61 }
62}
63
64int proverka(int broj)
65{
66 if (broj > suma(broj,broj-1))
67 {
68 return 1;
69 }
70 else
71 {
72 return 0;
73 }
74}
75
76int main()
77{
78 int i,n;
79 scanf("%d",&n);
80 int niza[n];
81
82 for(i=0;i<n;i++)
83 {
84 scanf("%d",&niza[i]);
85 }
86
87 for(i=0;i<n;i++)
88 {
89 if(proverka(niza[i]))
90 {
91 printf("%d\n",niza[i]);
92 }
93 }
94
95 return 0;
96}
97armstrongov br.
98#include <stdio.h>
99#include <stdlib.h>
100
101int stepen(int broj, int broj2)
102{
103 if(broj2==0)
104 {
105 return 1;
106 }
107
108 return broj * stepen(broj,broj2-1);
109}
110
111int proverka(int broj)
112{
113 int br=broj;
114 int brr=broj;
115 int st=0;
116 int suma=0;
117
118 while(broj!=0)
119 {
120 broj/=10;
121 st++;
122 }
123
124 while(br!=0)
125 {
126 int cifra=br%10;
127 suma+=stepen(cifra,st);
128 br/=10;
129 }
130 if(brr==suma)
131 {
132 return 1;
133 }
134 else
135 {
136 return 0;
137 }
138}
139
140int main()
141{
142
143
144 int n,i;
145 scanf("%d",&n);
146 int niza[n];
147
148
149
150 for(i=0;i<n;i++)
151 {
152 scanf("%d",&niza[i]);
153 }
154
155 for(i=0;i<n;i++)
156 {
157 if(proverka(niza[i]))
158 {
159 printf("%d\n",niza[i]);
160 }
161 }
162 return 0;
163}
164fibonachi
165#include <stdio.h>
166#include <stdlib.h>
167int fibonaci_niza(int broj)
168{
169 if(broj==0)
170 {
171 return 1;
172 }
173 if (broj==1)
174 {
175 return 1;
176 }
177
178 return fibonaci_niza(broj-1) + fibonaci_niza(broj-2);
179}
180
181void fibonachiev_broj(int broj,int brojac)
182{
183
184 if(fibonaci_niza(brojac) == broj)
185 {
186 printf ("DA\n");
187 return;
188 }
189
190 if (fibonaci_niza(brojac)>broj)
191 {
192 printf ("NE\n");
193 return;
194 }
195
196 return fibonachiev_broj(broj,brojac+1);
197
198}
199
200int main ()
201{
202 int n;
203 scanf ("%d",&n);
204 while (n-- > 0)
205 {
206 int broj;
207 scanf ("%d",&broj);
208 fibonachiev_broj(broj,0);
209 }
210
211 return 0;
212}
213ogledalni broevi
214#include <stdio.h>
215#include <stdlib.h>
216
217void ogledalno(int niza[],int dolzina, int i)
218{
219 if(dolzina/2==i)
220 {
221 if((dolzina%2)!=0)
222 {
223 niza[dolzina/2]+=niza[dolzina/2];
224 }
225 return;
226 }
227
228 int temp = niza[i] + niza[dolzina - i - 1] ;
229 niza[i] = niza[dolzina - i - 1] + niza[i];
230 niza[dolzina - i - 1] = temp;
231
232 ogledalno(niza,dolzina,i+1);
233}
234
235int main()
236{
237 int n;
238 scanf ("%d",&n);
239 int i,niza[n];
240 for(i=0; i < n; i++)
241 {
242 scanf ("%d",&niza[i]);
243 }
244
245 for(i = 0; i < n-1; i++)
246 {
247 printf ("%d ",niza[i]);
248 }
249
250 printf ("%d", niza[n-1]);
251
252 printf ("\n");
253
254 ogledalno(niza,n,0);
255
256 for (i = 0; i < n-1; i++)
257 {
258 printf ("%d ",niza[i]);
259 }
260
261 printf ("%d",niza[n-1]);
262
263 return 0;
264}
265mat nek
266#include <stdio.h>
267#include <stdlib.h>
268
269
270
271int main()
272{
273 int n, m;
274
275 printf("Vnesi kolkava ti e matricata? ");
276
277 scanf("%d %d", &n, &m);
278
279 int originalna[n * m];
280 int mnozena[n * m];
281
282 int i, j;
283
284 for (i = 0; i < n; i++) {
285 for (j = 0; j < m; j++) {
286 printf("[%d][%d](%d) = ", i, j, i * n + j);
287 scanf("%d", &originalna[i * n + j]);
288 }
289
290 printf("\n");
291 }
292
293 mnozena[n * m - 1] = originalna[n * m - 1]; //za da ne ja cepka 8
294
295 for (i = 0; i < n * m - 1; i++) {
296 int min = originalna[i + 1];
297
298 for (j = i + 1; j < n * m - 2; j++) {
299 if (originalna[j] < min) {
300 min = originalna[j];
301 }
302 }
303
304 mnozena[i] = originalna[i] * min;
305 }
306
307 for (i = 0; i < n * m; i++) {
308 printf("%d\n", mnozena[i]);
309 }
310
311 return 0;
312}
313parni cifri
314#include <stdio.h>
315int parni(int broj)
316{
317 if (broj==0)
318 {
319 return 0;
320 }
321 int cifra=broj%10;
322 if((cifra%2)==0)
323 {
324 int a=1+parni(broj/10);
325 printf("%d",cifra*2);
326 return a;
327 }
328 return 0 + parni(broj/10);
329}
330int main ()
331{
332 int n,broj;
333 scanf("%d", &n);
334 while(n-- > 0)
335 {
336 scanf("%d",&broj);
337 printf(" : %d\n", parni(broj));
338 }
339 return 0;
340}
341proverka dali broevi se isti
342#include <stdio.h>
343#include <stdlib.h>
344int suma(int broj)
345{
346 if(broj==0)
347 {
348 return 0;
349 }
350 int cifra=broj%10;
351 return cifra + suma(broj/10);
352}
353
354void proverka (int a, int b)
355{
356 if(a==b)
357 {
358 printf ("DA\n");
359 return;
360 }
361 else
362 {
363 printf ("NE\n");
364 return;
365 }
366}
367
368
369int main()
370{
371 int a,b;
372 scanf ("%d%d", &a,&b);
373 int broj1 = suma(a);
374 int broj2 = suma(b);
375
376 proverka(broj1,broj2);
377
378 return 0;
379}
380dalie e prost
381#include <stdio.h>
382#include <stdlib.h>
383
384int proizvod(int broj)
385{
386 if(broj==0)
387 {
388 return 1;
389 }
390 int cifra=broj%10;
391 return cifra * proizvod(broj/10);
392}
393
394void dali_e_prost(int broj)
395{
396 int i,znamence=0;
397 for(i=2; i < broj; i++)
398 {
399 if((broj%2)==0)
400 {
401 znamence=1;
402 break;
403 }
404 }
405
406 if(znamence==0)
407 {
408 printf ("Proizvodot %d od cifrite na brojot %d e prost broj",proizvod(broj),broj);
409 return ;
410 }
411 else
412 {
413 printf ("Proizvodot %d od cifrite na brojot %d ne e prost broj",proizvod(broj),broj);
414 }
415}
416
417
418int main()
419{
420 int broj;
421 scanf ("%d", &broj);
422 dali_e_prost(broj);
423
424 return 0;
425}
426maximum
427#include <stdio.h>
428#include <stdlib.h>
429int maximum(int brojac)
430{
431 int broj;
432 scanf ("%d",&broj);
433
434 if(brojac<=1)
435 {
436 return broj;
437 }
438
439 int drugo_brojce= maximum(brojac-1);
440
441 if(broj>drugo_brojce)
442 {
443 return broj;
444 }
445 else
446 {
447 return drugo_brojce;
448 }
449
450}
451
452int main()
453{
454 int n;
455 scanf ("%d",&n);
456 int i;
457 for (i=0;i<n;i++)
458 {
459 printf ("%d\n",maximum(3));
460 }
461 return 0;
462}
463stepen
464#include<stdio.h>
465#include<math.h>
466
467int stepen(int i, int j)
468{
469 if (j==0)
470 {
471 return 1;
472 }
473
474 return i * stepen (i,j-1);
475
476}
477
478int main()
479{
480 //vasiot kod ovde
481
482 int n;
483 int i,j;
484
485 scanf ("%d",&n);
486
487 double nadvoreshno = 0;
488 for (i=1;i<=n;i++)
489 {
490 double vnatreshno = 0;
491 for (j=0; j <= i;j++)
492 {
493 vnatreshno += sqrt((double) stepen(i,j));
494 }
495
496 nadvoreshno += vnatreshno;
497 }
498
499 printf("%.2f", nadvoreshno);
500
501 return 0;
502}
503mali cifri
504#include <stdio.h>
505#include <stdlib.h>
506
507int mali_cifri(int a)
508{
509 if(a==0)
510 {
511 return 0;
512 }
513
514 int cifra=a%10;
515
516 if(cifra<5)
517 {
518 int broenje= 1 + mali_cifri(a/10);
519 printf ("%d",cifra);
520 return broenje;
521 }
522
523 return 0 + mali_cifri(a/10);
524
525}
526int main()
527{
528 int n;
529 scanf ("%d",&n);
530 while (n-- > 0)
531 {
532 int broj;
533 scanf ("%d",&broj);
534 printf (" : %d\n",mali_cifri(broj));
535
536 }
537 return 0;
538}
539silen broj, nabildan
540#include <stdio.h>
541#include <stdlib.h>
542
543int faktoriel (int broj)
544{
545 if(broj==1)
546 {
547 return 1;
548 }
549
550 return broj * faktoriel(broj-1);
551}
552
553int proverka(int broj)
554{
555 int br=broj;
556 int suma=0;
557
558 while(broj!=0)
559 {
560 int cifra=broj%10;
561 suma+=faktoriel(cifra);
562 broj/=10;
563
564 }
565
566 if(br==suma)
567 {
568 return 1;
569 }
570 else
571 {
572 return 0;
573 }
574}
575
576int main()
577{
578 int n,i;
579 scanf("%d",&n);
580 int niza[n];
581
582 for(i=0;i<n;i++)
583 {
584 scanf("%d",&niza[i]);
585 }
586
587 for(i=0;i<n;i++)
588 {
589 if(proverka(niza[i]))
590 {
591 printf("%d\n",niza[i]);
592 }
593 }
594 return 0;
595}
596broj vrakja broj formiran od cif. na nepar. pozii
597#include <stdio.h>
598#include <stdlib.h>
599
600int rekurzija(int broj,int brojac)
601{
602 if (broj==0)
603 {
604 return 0;
605 }
606
607 if ((brojac%2)!=0)
608 {
609 int cifra= broj%10;
610 int rek= rekurzija(broj/10,brojac+1);
611 printf ("%d",cifra);
612 return rek;
613 }
614 else
615 {
616 return 0 + rekurzija(broj/10,brojac+1);
617 }
618}
619
620int main()
621{
622 int a;
623 scanf ("%d", &a);
624 rekurzija(a,0);
625 return 0;
626}
627pomal minimum
628#include<stdio.h>
629#include<math.h>
630int min(int a[],int poc,int kraj,int minim){
631 if(poc>kraj)
632 {
633 return minim;
634 }
635 if(a[poc]<minim)
636 {
637 return min(a,(poc+1),kraj,a[poc]);
638 }
639 else return min(a,poc+1,kraj,minim);
640}
641int minim(int a,int b)
642{
643 if(a<b)
644 {
645 return a;
646 }
647 else return b;
648}
649int main(){
650 int n,m,a[100],b[100],c[100],mim,i,j,k;
651 scanf("%d",&n);
652 for(i=0;i<n;i++)
653 {
654 scanf("%d",&a[i]);
655 }
656 scanf("%d",&m);
657 for(j=0;j<m;j++)
658 {
659 scanf("%d",&b[j]);
660 }
661 mim=minim(n,m);
662 for(i=0;pow(2,i)<=mim;i++)
663 {
664 k=pow(2,i);
665 c[i]=minim(min(a,0,n/k-1,9999),min(b,0,m/k-1,9999));
666 }
667 for(i=0;pow(2,i)<=mim;i++)
668 {
669 printf("%d ",c[i]);
670 }
671return 0;
672}
673#include <stdio.h>
674int dvojnik(int a,int n)
675{
676 if(a==0)
677 return 0;
678 if (n%2==0&&a%10%2==0)
679 return 10*dvojnik(a/10,n+1);
680 return a%10+10*dvojnik(a/10,n+1);
681}
682int main()
683{
684 int n,i;
685 int niza[100];
686 scanf("%d",&n);
687 for(i=0;i<n;i++)
688 {
689 scanf("%d",&niza[i]);
690 }
691 for(i=0;i<n;i++)
692 {
693 if(dvojnik(niza[i],1)&&dvojnik(niza[i],1)!=niza[i])
694 printf("%d ",dvojnik(niza[i],1));
695 }
696 return 0;
697}
698funkcii suma neparni
699#include <stdio.h>
700#include <stdlib.h>
701
702int suma_neparni(int broj, int brojac)
703{
704 if(broj==0)
705 {
706 return 0;
707 }
708
709 if(brojac%2!=0)
710 {
711 return broj%10 + suma_neparni(broj/10,brojac+1);
712 }
713 else
714 {
715 return 0 + suma_neparni(broj/10,brojac+1);
716 }
717}
718
719int main()
720{
721 int a;
722 scanf ("%d",&a);
723 printf ("%d",suma_neparni(a,1));
724 return 0;
725}
726stepeni na dva broja
727#include <stdio.h>
728#include <stdlib.h>
729
730void stepen(int a, int b)
731{
732 if(a==1)
733 {
734 printf ("DA\n");
735 return;
736 }
737 if((a%b)==0)
738 {
739 stepen((a/b),b);
740 return;
741 }
742 else
743 {
744 printf("NE\n");
745 return;
746 }
747}
748
749int main()
750{
751 int n;
752 scanf("%d",&n);
753 while (n-- > 0)
754 {
755 int a, b;
756 scanf ("%d%d",&a,&b);
757 stepen(a,b);
758 }
759 return 0;
760}
761minbroj
762int minbroj(int a, int b) {
763 if (a == 0 || b == 0) {
764 return 0;
765 }
766
767 int ca = a % 10;
768 int cb = b % 10;
769
770 if (ca > cb) {
771 return cb + 10 * minbroj(a / 10, b / 10);
772 } else {
773 return ca + 10 * minbroj(a / 10, b / 10);
774 }
775}
776
777int main()
778{
779 int a, b;
780
781 scanf("%d %d", &a, &b);
782
783 printf("%d", minbroj(a, b));
784
785 return 0;
786}
787prevrti niza
788#include <stdio.h>
789#include <stdlib.h>
790
791void prevrti(int niza[],int dolzina, int i)
792{
793 if(i==dolzina/2)
794 {
795 if ((dolzina%2)!=0)
796 {
797 niza[dolzina/2]=niza[dolzina/2];
798 }
799 return ;
800 }
801
802 int temp=niza[i];
803 niza[i]=-niza[dolzina-i-1];
804 niza[dolzina-i-1]=-temp;
805
806 prevrti(niza,dolzina,i+1);
807
808}
809
810
811int main()
812{
813 int n,niza[100];
814 scanf ("%d",&n);
815 int i;
816 for (i=0;i<n;i++)
817 {
818 scanf ("%d",&niza[i]);
819 }
820
821 for(i=0;i<n-1;i++)
822 {
823 printf ("%d ",niza[i]);
824 }
825
826 printf("%d", niza[n-1]);
827
828 printf ("\n");
829
830 prevrti(niza,n,0);
831
832 for (i=0;i<n-1;i++)
833 {
834 printf ("%d ",niza[i]);
835 }
836
837 printf("%d", niza[n - 1]);
838
839 return 0;
840}