March 2019 0 102 Report
Funkcja Ackermanna jest definiowana rekurencyjnie za pomocą następujących
równości:

n+1, jeżeli m = 0;
A(m-1, 1), jeżeli m>0, n=0;
A(m-1, A(m, n-1)), jeżeli m>0, n>0.

Już napisałam program (potrzebny w języku C) , który oblicza wartość tej funcji dla podanych m in , ale nie działa mi w CodeBlocks. Może popełniłam gdzieś błąd? Proszę o sprawdzenie tego.

Oto program:

#include

int ack (int m, int n) {

if (m==0)
return n+1;

if (n==0) && (m>0)
return ack(m-1, 1);

else
return ack(m-1, ack(m, n-1));
}

int main () {

printf("Wprowadz liczby naturalne m oraz n", m, n);
scanf("5d %d", &m, &n);

printf("ack(%d, %d) = %d\n", m, n, ack(m, n));

return 0;
}

More Questions From This User See All

Recommend Questions



Life Enjoy

" Life is not a problem to be solved but a reality to be experienced! "

Get in touch

Social

© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.