4.DZ
Select messages from
# through # FAQ
[/[Print]\]

Forum@DeGiorgi -> Programiranje 1 i 2

#1: 4.DZ Autor/ica: napolitanka PostPostano: 21:09 sri, 10. 12. 2014
    —
Može li mi netko objasniti 1. zadatak.

Citat:
Zadatak 1:
Napišite program koji učitava cijeli broj n, te ispisuje sumu svih prostih djelitelja (uvažavajući kratnost) svih cijelih brojeva različitih od nule koji se nalaze između n i 1 (uključivo).


tocnije sto znaci
Citat:
(uvazavajuci kratnost)


hvala Smile

#2:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 21:18 sri, 10. 12. 2014
    —
To znaci da svakog brojis onoliko puta kolika mu je kratnost. Konkretno, za broj [tex]144 = 2^4 \cdot 3^2[/tex] ta suma je jednaka [tex]4 \cdot 2 + 2 \cdot 3 = 14[/tex], a ne samo [tex]2 + 3 = 5[/tex].

#3:  Autor/ica: napolitanka PostPostano: 21:28 sri, 10. 12. 2014
    —
hvala!

#4:  Autor/ica: napolitanka PostPostano: 12:44 ned, 14. 12. 2014
    —
Može još jedno pitanje (isti zadatak), piše mi da mi je program netočan za input -38, ali ja ne znam što mi je točno krivo pa ako mi netko može pomoći?

Kod:
#include <stdio.h>

int sumad (int n)
{
    int i,test,suma=0,x;
    x=n;

    if(x==0) test=0;
    else test=1;

    do {
            for (i=2;i<=x;i++)
                {
                    if(x%i==0)
                        {
                            suma+=i;
                            test*=i;
                            x/=i;
                            break;
                        }
                }
    } while(test!=n);

    return suma;
}

int abso(int x)
{
    if (x<0) x*=-1;
    return x;
}

int main(void)
{
    int n;

    scanf("%d",&n);
    if (n<1)
    {
        while (n<=1)
        {
             if (n==0) {n++; continue;}
             printf("%d\n",sumad( abso(n) ) );
             n++;
        }
    }
    else
    {
        while (n>=1)
        {

            printf("%d ",sumad(n));
            n--;
        }
    }

    return 0;
}

#5:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 13:44 ned, 14. 12. 2014
    —
U zadatku pise "ispisuje sumu" (ne "sume"), dakle jednu jedinu sumu. Tebi ce se printf ispisati za skoro svaki broj izmedju 1 i n.

Usput, petlja u sumad je jako lose napisana. Ako ispadne da je, recimo, 17 prosti faktor u n, ti prekidas petlju i opet provjeravas za sve i od 2 nadalje. I tako za svaki prosti faktor, onoliko puta kolika mu je kratnost.

Pogledaj u vjezbama kako se vade prosti faktori broja. To je solidno koristan algoritam.

#6:  Autor/ica: napolitanka PostPostano: 18:25 ned, 14. 12. 2014
    —
Da shvatio sam, već mi se to par puta dogodilo da točno napišem kod, ali krivu stvar ispišem jer ne čitam dovoljno pažljivo zadatak.

Hvala na komentaru, ali pokušavam ne koristiti skriptu kada pišem programe čisto da sam skužim neke stvari sam pa su mi većina kodova malo veće složenosti nego što bi mogli biti, pogledat ću si sve te "važne algoritme" u skripti samo da vidim što sve prekomplicirano radim.

Hvala još jednom Smile



Forum@DeGiorgi -> Programiranje 1 i 2


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Stranica 1 / 1.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin