[C] silnia, pierwiatek

Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[C] silnia, pierwiatek

Post autor: waliant »

Witam, mam obliczyć \(\displaystyle{ \sqrt[1000]{1000!}}\). Próbuję to zrobić tak żeby po prostu program wymnażał mi po kolei \(\displaystyle{ \sqrt[1000]{1}}\)* \(\displaystyle{ \sqrt[1000]{2}}\)* \(\displaystyle{ \sqrt[1000]{3}}\) i tak do \(\displaystyle{ 1000!}\). Zrobiłem wstępnie tak lecz niestety program nie liczy do \(\displaystyle{ 1000}\) tylko chyba te dwa składniki:

Kod: Zaznacz cały

#include <stdio.h>
#include <math.h>
int main (void)
{
    double a=1;
    double b=1;
    double c=1;
        while(c<=1000)
{
a=(pow(c,1.0/1000.0))*(pow(c++,1.0/1000.0));
c=c+1;
}
    printf("%lf
", a);

    return 0;
}

Proszę o pomoc co mam zmienić zeby robił tę pętlę do \(\displaystyle{ 1000}\)
witekkq
Użytkownik
Użytkownik
Posty: 145
Rejestracja: 16 lis 2007, o 09:06
Płeć: Mężczyzna
Lokalizacja: Gniezno
Podziękował: 2 razy
Pomógł: 27 razy

[C] silnia, pierwiatek

Post autor: witekkq »

Kod: Zaznacz cały

while(c<=1000)
	{
		a*=(pow(c,1.0/1000.0))*(pow(c+1,1.0/1000.0));
		c=c+2;
	}
Awatar użytkownika
waliant
Użytkownik
Użytkownik
Posty: 1801
Rejestracja: 9 gru 2010, o 22:16
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 275 razy
Pomógł: 183 razy

[C] silnia, pierwiatek

Post autor: waliant »

ok, dzięki
Pafeo
Użytkownik
Użytkownik
Posty: 28
Rejestracja: 20 paź 2013, o 15:01
Płeć: Mężczyzna
Lokalizacja: Wrocław

[C] silnia, pierwiatek

Post autor: Pafeo »

Przepraszam za odkopywanie tematu ale mam do napisania identyczny program, a niestety dopiero zaczynam naukę języka C i mam pytanie - co oznacza operator *= ? w poście użytkownika waliant kod zawierał tylko a=.... a użytkownik witekkq poprawił kod dodając operator a*=.... co to zmienia? Przepraszam jeśli moje pytanie jest banalne, ale niestety nie znalazłem odpowiedzi w google, a na wykładach nie omawiamy jeszcze składni języka C.

Pozdrawiam
Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

[C] silnia, pierwiatek

Post autor: miki999 »

a*=b jest równoważne wyrażeniu a=a*b, analogicznie jest (częsciej spotykane) a+=b to to samo co a=a+b.

Za pytania nie przepraszaj, każdy kiedyś zaczynał


Pozdrawiam i powodzenia w nauce techniki kodowania.
Pafeo
Użytkownik
Użytkownik
Posty: 28
Rejestracja: 20 paź 2013, o 15:01
Płeć: Mężczyzna
Lokalizacja: Wrocław

[C] silnia, pierwiatek

Post autor: Pafeo »

A no tak, w sumie to logiczne. No i skoro w tym zadaniu jest silnia to "a", czyli nasz wynik, musimy mnożyć z kolejnymi elementami, teraz wszystko jasne!
Niestety na politechnice wszyscy wychodzą z założenia, że już umiemy programować, skoro od pierwszych laborek mamy pisać w C, a tymczasem na wykładach wprowadzenie do C pojawi się dopiero w listopadzie. Tym bardziej wielkie dzięki, teraz wydaje się to coraz bardziej zrozumiałe.
ODPOWIEDZ