Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main(){
- // zadaca kolega
- // na pocetokot vnesuvame eden cel broj od tastatura, ke go krstime N
- int N;
- scanf("%d", &N);
- // kolega na ovoj broj e ako gi zememe site cifri sto se ednakvi na 5 i gi zamenuvame so 6. Ama na krajot od tekstot ni vika deka ako brojot NE sodrzi najmalku 2 cifri koi se ednakvi na 5 togas treba da ispecatime greska
- // zatoa prvo proveruvame kolku od cifrite se ednakvi na 5
- // za da proverime kolku od cifrite se ednakvi na 5, mora prvo da gi izvadime istite
- // bidejki brojot e cetiricifren moze da go pretstavime kako ABCD, tako sto A e prvata cifra, B e vtorata....
- // ke napravime 4 posebni integeri, za da gi izvadime site cifri posebno
- int prva_cifra = N / 1000;
- // bilo koj cetiricifren broj ako go podelam so 1000 ke ni ja vrati prvata cifra, primer: 4567 / 1000 = 4, i 4 e prvata cifra
- int vtora_cifra = (N / 100) % 10;
- // za da ja izvadam vtorata cifra od brojot potrebno e brojot da go podelam sto 100 4567 / 100 = 45, i na brojot 45 ni treba poslednata cifra
- // posledna cifra dobivame taka sto go zimame ostatokot pri delenje so 10, odnosno modul od 10, taka sto (4567 / 100) % 10 = 45 % 10 = 5
- int treta_cifra = (N / 10) % 10;
- // za da izvadime tretata cifra, potrebno e brojot da go podelime so 10: 4567 / 10 = 456, i od toa da ja izvadime poslednata cifra, (4567 / 10) % 10 = 456 % 10 = 6
- int cetvrta_cifra = N % 10;
- // poslednata cifra ja zimame so modul od 10
- // sega cim gi znaeme cifrite na brojot treba da izbroime kolku od niv se ednakvi na 5
- // toa se pravi so if
- int brojac_na_cifri_ednakvi_na_5 = 0;
- if(prva_cifra == 5) {
- brojac_na_cifri_ednakvi_na_5++; // go zgolemuvame za 1
- }
- if(vtora_cifra == 5) {
- brojac_na_cifri_ednakvi_na_5++; // go zgolemuvame za 1
- }
- if(treta_cifra == 5) {
- brojac_na_cifri_ednakvi_na_5++; // go zgolemuvame za 1
- }
- if(cetvrta_cifra == 5) {
- brojac_na_cifri_ednakvi_na_5++; // go zgolemuvame za 1
- }
- // ako imame pomalce od 2 cifri koi se ednakvi na 5, togas mora da ispecatime greska
- if(brojac_na_cifri_ednakvi_na_5 < 2) {
- printf("ERROR\n"); // greskata vo zadacata ni e pretstavena kako error
- return 0; // ja zavrsuvame programata bidejki ne moze da prodolzime so istata
- }
- // sega treba sekoja cifra sto e ednakva na 5, da ja pretvorime vo 6
- if(prva_cifra == 5) {
- prva_cifra = 6;
- }
- if(vtora_cifra == 5) {
- vtora_cifra = 6;
- }
- if(treta_cifra == 5) {
- treta_cifra = 6;
- }
- if(cetvrta_cifra == 5) {
- cetvrta_cifra = 6;
- }
- // sega gi imame cifrite od brojot i treba da go napravime kolega brojot
- // bidejki imame 4 cifri, moze da gi pretstavime kako ABCD, brojot se razlovuva na 1000 * A + 100 * B + 10 * C + 1 * d
- int kolega = 1000 * prva_cifra + 100 * vtora_cifra + 10 * treta_cifra + 1 * cetvrta_cifra;
- // so ova go imame napraveno kolega brojot
- // treba da vidime za kolku procenti e pogolem i ja koristime formulata za toa
- float procenti = (float) (100 * kolega - 100 * N) / (float) N;
- // koga racuname nekoj broj koj ke e decimalen, mora site broevi vo presmetkata da ni se float
- printf("%f%%", procenti); // so %f pecatam float, a ako sakame da go ispecatime znakot za procenti %, mora da koristam %%
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement