Jak zrobić takie zadanie?
- pobiera od użytkownika liczbę całkowitą n i oblicza wartość n!.
Będę bardzo wdzięczny za odpowiedź.
Jak zrobić takie zadanie?
Będę bardzo wdzięczny za odpowiedź.
#include
#include
#include
main()
{
int x;
int y;
int z;
poczatek:
std::cout << "\nPodaj liczbe\n";
std::cin >> x;
y=x;
z=x;
petla:
if (y>1)
{
y=y-1;
z=z*y;
goto petla;
}
else
{
goto dalej;
}
dalej:
std::cout << "Wynik to "<
goto poczatek;
}
Pisałem na szybko, ale działa :lol: I chyba chodziło o liczbę naturalną, bo w przypadku ujemnych całkowitych byłby problem
Dzięki a jak to zrobić za pomocą pętli for?
Działa, ale jest najgorszym z możliwych sposobów napisania tego. Powinni Cię za to powiesić. No, chyba że nie lubisz założyciela wątku i zwyczajnie chcesz, aby to skopiował i nie zaliczył
A to istnieje coś takiego jak silnia liczby ujemnej?
A jaki miałoby to mieć sens matematyczny?
Spytał jak zrobić taki program, napisałem to w ten sposób, żeby mógł wyciągnąć z tego metodę liczenia, gdyż na forum nie można podawać odpowiedzi do zadań.
No właśnie to nie ma sensu, a WNHacker napisał “całkowitej” czyli dodatniej lub ujemnej, a to jest niemożliwe. Właśnie dlatego napisałem, że silnia może być tylko z liczby naturalnej (czyli dodatniej).
Całkiem słusznie.
Tylko pewno on i tak nie da rady nic z tego wyciągnąć, bo ten kod jest zagmatwany, a sama metoda jest przecież banalna.
Faktycznie, to słowa autora.
Ale z tą dodatniością liczb naturalnych uważaj, matematycy sami nie wiedzą, czy zero jest w końcu naturalne, czy nie
Myślę, że tutaj znajdziesz interesujący Cię program, który liczy silnie.
http://www.technikum-informatyczne.info/programowanie/82-c-silnia
Wiem, że nie wolno dawać rozwiązań na forum, ale masz, w drodze wyjątku:
#include
using namespace std;
int main()
{
unsigned int n;
unsigned int silnia = 1;
unsigned int wynik;
cin >> n;
for(int i = 1; i<=n; i++)
{
silnia = silnia * i;
}
wynik = silnia % 10;
cout << wynik;
}
Masz jeszcze rekurencyjną
#include
using namespace std;
int silnia(int n)
{
if(n==0) return 1;
else return n*silnia(n-1);
}
void main()
{
cout << "silnia od 5 = "<
}
@gates22, twoj przyklad nie dziala, sprawdzilem dla 5
Dzięki śliczne. Jestem wam bardzo wdzięczny za pomoc.