和と積と制御構文(loop と 条件分岐)だけでmod()をつくる。
#!/usr/bin/env phthon # -*- coding: utf-8 -*- import sys def minus(x,y): output = 0 if x<y: return output else: for i in range(x+1): if(output+y==x): break else: output=output+1 return output x = sys.argv def remainder(x,y): if x<y :return x elif x==y :return 0 else: for i in range(x+1): if minus(minus(x,y*(i+1)),y)==0: if minus(x,y*(i+1))==y:return 0 else :return minus(x,y*(i+1)) print remainder(int(x[1]),int(x[2]))
まず、マイナスつくってそれを使って、modみたいなのを作る。
hirose@debian$python hoge.py 16 5 1
みたいなかんじ
無駄がかなりあるのでもっとシンプルにかける方法を教えてください。