Будет ли этот алгоритм работать всегда?

Поэтому я пишу алгоритм TI-BASIC для моего калькулятора, который делает отношения. Вот код:

Disp "GIVE ONE NUMBER"
Prompt A
Disp "GIVE A SECOND NUMBER"
Prompt B
While fPart(A)≠0 or fPart(B)≠0
A*10->A
B*10->B
End
gcd(A,B)->C
Disp A/C
Disp B/C

Кажется, работает в большинстве случаев. Есть ли какие-либо недостатки / угловые случаи этого кода, которые я не заметил? Благодарю.

2 ответа

Решение

Это будет работать, но есть еще более прохладный способ сделать это без петель.

Disp "GIVE ONE NUMBER"
Prompt A
Disp "GIVE A SECOND NUMBER"
Prompt B
1/fPart(A)->F
A*F->A
B*F->B
1/fPart(B)->F
A*F->A
B*F->B
gcd(A,B)->C
Disp A/C
Disp B/C

Да, это сработает, как и ответ Жан-Бернарда Пеллера, но лучше всего его очистить:

Input "GIVE ONE NUMBER",A
Input "GIVE A SECOND NUMBER",B
1/fPart(A)->F
A*F->A
B*F->B
1/fPart(B)->F
A*F->A
B*F->B
gcd(A,B)->C
Disp A/C
Disp B/C
Другие вопросы по тегам