Advertisement
Bodigrim

testMod

Jun 9th, 2011
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. \catcode `\@11 % делаем @ обычной буквой
  2.  
  3. \newif\ifdivisible % объявляем булеву переменную
  4. \newcount\testMod@n % объявляем числовую переменную
  5. \def\testMod#1#2{ % объявляем макрос с двумя аргументами
  6. \testMod@n=#1 % помещаем в testMod@n первый аргумент
  7. \divide\testMod@n by#2 % делим нацело на второй аргумент
  8. \multiply\testMod@n by#2 % и умножаем на него же
  9. \ifnum#1=\testMod@n % если в результате получился снова первый аргумент,
  10. \divisibletrue % значит остатка не было,
  11. \else % а иначе
  12. \divisiblefalse % был
  13. \fi%
  14. }
  15.  
  16. \catcode `\@12 % делаем @ обратно спецсимволом,
  17. % чтобы избежать непосредственного доступа к "локальным" переменным
  18. % из дальнейшего кода
  19.  
  20. \testMod{6}{3}
  21. \ifdivisible 1 \else 0 \fi
  22. \testMod{6}{4}
  23. \ifdivisible 1 \else 0 \fi
  24. % должно вывести "1 0"
  25.  
  26. \end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement