|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2010, 01:52 | #1 |
Регистрация: 23.05.2010
Сообщений: 4
|
взятие остатка по модулю
есть небольшая программка, выполняющая взятие остатка по модулю
#include "stream.h" int mod (int a, int b) { return b == 0 ? a : mod (b, a % b); } int main() { int a, b; scanf("%d%d", &a, &b); printf("%d\n", mod (a, b)); return 0; } как понять, сколько раз будет вызвана функция mod??? |
30.05.2010, 07:09 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Вставить статический счетчик, прикинуть по алгоритму руками.
|
30.05.2010, 17:18 | #3 |
Регистрация: 23.05.2010
Сообщений: 4
|
а что значит "прикинуть руками"? как раз и хотелось бы понять на живом примере как работает алгоритм, по идее тут рекурсия пока b не равно нулю.
ps: а счетчик прикрутил, как-то так: #include <stdio.h> int mod (int a, int b, int n) { n++; if (b == 0) { printf ("mod counts %i times(à)\n", n); return a; } else return mod(b, a%b, n); } int main() { int a, b; scanf("%d%d", &a, &b); printf("%d\n", mod (a, b, 0)); getchar(); getchar(); return 0; } |
30.05.2010, 17:22 | #4 |
Регистрация: 23.05.2010
Сообщений: 4
|
только все равно не понятно по какому принципу вызывается mod?
пусть a=7, b=2, счетчик выдает mod counts 3 times. |
30.05.2010, 17:32 | #5 |
Форумчанин
Регистрация: 20.03.2009
Сообщений: 272
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Деление многочленов. Нахождение остатка | @Manya@ | Общие вопросы C/C++ | 2 | 05.05.2010 11:36 |
Взятие названий объектов из подзапроса | euronymous | SQL, базы данных | 4 | 01.03.2010 06:34 |
Делить без остатка | rangel | PHP | 4 | 30.07.2009 14:31 |
Взятие значения по адресу | nusik | Общие вопросы C/C++ | 1 | 25.05.2009 01:59 |
Взятие интеграла | max38934 | Общие вопросы Delphi | 2 | 11.05.2009 16:03 |