The characteristics of a computable problem are:
- Complete means that it covers all the cases;
- Mechanistic means that it is precise;
- Deterministic means that the same output will be provided if the same input is entered.
Correct me if I'm wrong, I found that through researches and don't fully knew what it actually means except for deterministic.
So, I'm trying to prove a simple code such as:
int i = 0;
do{
int j = 0;
do{
printf("Hello\n");
j++;
}while (j < n);
printf("Hello\n");
i++;
}while (i < n);
is computable.
I know how to show like it's deterministic since it's fairly obvious but I am not sure how to show that it's mechanistic or complete.
The Complete characteristic, from what I understand it's more of a "Is there any way that the code fail to be executed or returned as error?" such as opening a text file there's a chance that file doesn't exist because wrong file name entered or wrong location entered, etc.
But In the case of the snippet code above, how should I prove that it's complete?
As for the Mechanistic "whether 1 + 1 = 2 instead of 3?".
Same thing, for the case of snippet code above, how can I prove that it's precise since the code itself doesn't solve any problem it's just printing "hello" according to the n values? Which in this case n^2 + n number of "hello".