Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ispis faktorijela svake druge cifre

[es] :: C/C++ programiranje :: C/C++ za početnike :: Ispis faktorijela svake druge cifre

[ Pregleda: 1222 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dean25
Dean Katic
Graz

Član broj: 78052
Poruke: 18
*.tu-graz.ac.at.



Profil

icon Ispis faktorijela svake druge cifre12.10.2011. u 16:13 - pre 152 meseci
Eh ovako,

za pocetak POCETNIK sam i nemojte me zasuti sa milion izraza vec polako!

Trebao bih napisati program koji uz pomoc petlje niz brojeva ispisuje.

Za pocetak potrebno je zadati sumu nekog mnogocifrenog broja (recimo da ta suma iznosi 15) - ovo treba da bude u programu a ne da se zada preko tastature.

Tome treba dodati da svaka druga cifra od 1 do nase sume (15) treba biti ispisana u fakultativnom obliku ako je suma neparna, ako je parna onda pocinje od 2 pa opet svaka druga do nase sume.

"faktorijel broja 5 = 5 * 4 * 3 * 2 * 1"

Svemu tome treba da bude zarez nekon ispisane vrijednosti sa 6 dodatnih decimala. (5! = 5*4*3*2*1 = 120,000000e+00)

Suma s = 8
Izdaje:

2.000000e+00
2.400000e+01
7.200000e+02
4.032000e+04

Objasnjenje:

2 = 2! = 2 * 1
24 = 4! = 4 * 3 * 2 * 1
720 = 6! = 6 * 5 * 4 * 3 * 2 * 1
40320 = 8! = 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1




Suma s = 7

Izdaje:

1.000000e+00
6.000000e+00
1.200000e+02
5.040000e+03

Objasnjenje

1 = 1!
6 = 3! = 3 * 2 * 1
120 = 5! = 5 * 4 * 3 * 2 * 1
5040 = 7! = 7 * 6 * 5 * 4 * 3 * 2 * 1


Eh sad sam ja to pokusao napisati, ali me nesto zeza... Ne mogu skontati u cemu je fora:

Code:
#include<stdio.h>

int main()
{

    int s = 16;
    int n = 1;
    int i, j;
    double f = 1;
    if(s%2)
    for(i = 1; i <= s; i += 2)
    {
        printf("ungerade i: %d\n", i);
        for(j = i; j >= 1; j--)
        {
        f *= j;
        }

        printf("faktorijal i: %e\n", f);

    }

    else
    for(i = 2; i <= s; i += 2)
    {
        for(j = i; j >= 1; j-- )
        {
        f = f * i;

        }
        printf("gerade i: %d\n", i);
        printf("faktorijel ist: %e\n", f);




    }

    return 0;
}



Moze li mi iko pomoci?

Prijedlog kako da se izmjeni code, sta da se zamjeni, druge mogucnosti...?

Unaprijed hvala...
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Ispis faktorijela svake druge cifre12.10.2011. u 16:54 - pre 152 meseci
Prvo što upada u oči je da promenljivu f moraš da postaviš na 1 svaki put pred računanja faktorijela, inače se pamti stara vrednost, i rezultat bude pogrešan. Ubaci f=1 pre obe unutrašnje petlje. Ako i dalje budeš dobijao neodgovarajući rezultat onda postavi ovde taj rezultat i objasni zašto je neodgovarajući.
 
Odgovor na temu

dean25
Dean Katic
Graz

Član broj: 78052
Poruke: 18
*.tu-graz.ac.at.



Profil

icon Re: Ispis faktorijela svake druge cifre12.10.2011. u 17:20 - pre 152 meseci
Hvala na odgovoru... Sada radi kako treba
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Ispis faktorijela svake druge cifre

[ Pregleda: 1222 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.