- プログラミングのお題スレ Part3
916 :デフォルトの名無しさん[sage]:2014/06/10(火) 00:33:14.49 ID:qXXNDqVc - >>911 Python
import itertools, fractions def f911(n, m, x): k = int((n+1) / m) ans = k lcm = lambda a,b: a*b/fractions.gcd(a,b) combinations = [itertools.combinations(x, i+1) for i in range(len(x))] for p in itertools.chain(*combinations): ans -= ((len(p) % 2)*2-1) * int(k / reduce(lcm, p)) print ans f911(100000000000, 7, [4,5,6,9]) ベン図で解いた。繰り返し部分は [(4,), (5,), (6,), (9,), (4, 5), (4, 6) ... (5, 6, 9), (4, 5, 6, 9)] で引いたり足したり。
| - プログラミングのお題スレ Part3
934 :デフォルトの名無しさん[sage]:2014/06/10(火) 23:14:16.99 ID:qXXNDqVc - >>927 C
int f927(char *s) { return (strlen(s) == 1) && strchr(s, 'a'); }
|
|