fork download
import sys

ARG = "500"

# end_numまでの素数リスト作成
def get_prime_list(end_num):
    prime_list = [2]
    for i in range(3, end_num, 2):
        if len(list(filter(lambda x : i % x == 0, prime_list))) == 0:
            prime_list.append(i)
    return prime_list

# 10進数表記のときにnumに'3'が含まれる個数をカウント
def count_num3(num):
    return int(num % 10 == 3) + (count_num3(int(num / 10)) if num > 10 else 0)

# numが3の倍数か判定
def is_multi3(num):
    return 1 if num % 3 == 0 else 0

def output_266(end_num):
    prime_list = get_prime_list(end_num)
    for i in range(1, end_num + 1):
        print("".join([str(i), "(", str(int(i in prime_list) + count_num3(i) + int(is_multi3(i))), ")"]))

if __name__ == '__main__':
    # 標準入力が想定外の数字の場合は考慮していません、あしからず
    output_266(int(ARG))
Success #stdin #stdout 0.04s 9644KB
stdin
Standard input is empty
stdout
1(0)
2(1)
3(3)
4(0)
5(1)
6(1)
7(1)
8(0)
9(1)
10(0)
11(1)
12(1)
13(2)
14(0)
15(1)
16(0)
17(1)
18(1)
19(1)
20(0)
21(1)
22(0)
23(2)
24(1)
25(0)
26(0)
27(1)
28(0)
29(1)
30(2)
31(2)
32(1)
33(3)
34(1)
35(1)
36(2)
37(2)
38(1)
39(2)
40(0)
41(1)
42(1)
43(2)
44(0)
45(1)
46(0)
47(1)
48(1)
49(0)
50(0)
51(1)
52(0)
53(2)
54(1)
55(0)
56(0)
57(1)
58(0)
59(1)
60(1)
61(1)
62(0)
63(2)
64(0)
65(0)
66(1)
67(1)
68(0)
69(1)
70(0)
71(1)
72(1)
73(2)
74(0)
75(1)
76(0)
77(0)
78(1)
79(1)
80(0)
81(1)
82(0)
83(2)
84(1)
85(0)
86(0)
87(1)
88(0)
89(1)
90(1)
91(0)
92(0)
93(2)
94(0)
95(0)
96(1)
97(1)
98(0)
99(1)
100(0)
101(1)
102(1)
103(2)
104(0)
105(1)
106(0)
107(1)
108(1)
109(1)
110(0)
111(1)
112(0)
113(2)
114(1)
115(0)
116(0)
117(1)
118(0)
119(0)
120(1)
121(0)
122(0)
123(2)
124(0)
125(0)
126(1)
127(1)
128(0)
129(1)
130(1)
131(2)
132(2)
133(2)
134(1)
135(2)
136(1)
137(2)
138(2)
139(2)
140(0)
141(1)
142(0)
143(1)
144(1)
145(0)
146(0)
147(1)
148(0)
149(1)
150(1)
151(1)
152(0)
153(2)
154(0)
155(0)
156(1)
157(1)
158(0)
159(1)
160(0)
161(0)
162(1)
163(2)
164(0)
165(1)
166(0)
167(1)
168(1)
169(0)
170(0)
171(1)
172(0)
173(2)
174(1)
175(0)
176(0)
177(1)
178(0)
179(1)
180(1)
181(1)
182(0)
183(2)
184(0)
185(0)
186(1)
187(0)
188(0)
189(1)
190(0)
191(1)
192(1)
193(2)
194(0)
195(1)
196(0)
197(1)
198(1)
199(1)
200(0)
201(1)
202(0)
203(1)
204(1)
205(0)
206(0)
207(1)
208(0)
209(0)
210(1)
211(1)
212(0)
213(2)
214(0)
215(0)
216(1)
217(0)
218(0)
219(1)
220(0)
221(0)
222(1)
223(2)
224(0)
225(1)
226(0)
227(1)
228(1)
229(1)
230(1)
231(2)
232(1)
233(3)
234(2)
235(1)
236(1)
237(2)
238(1)
239(2)
240(1)
241(1)
242(0)
243(2)
244(0)
245(0)
246(1)
247(0)
248(0)
249(1)
250(0)
251(1)
252(1)
253(1)
254(0)
255(1)
256(0)
257(1)
258(1)
259(0)
260(0)
261(1)
262(0)
263(2)
264(1)
265(0)
266(0)
267(1)
268(0)
269(1)
270(1)
271(1)
272(0)
273(2)
274(0)
275(0)
276(1)
277(1)
278(0)
279(1)
280(0)
281(1)
282(1)
283(2)
284(0)
285(1)
286(0)
287(0)
288(1)
289(0)
290(0)
291(1)
292(0)
293(2)
294(1)
295(0)
296(0)
297(1)
298(0)
299(0)
300(2)
301(1)
302(1)
303(3)
304(1)
305(1)
306(2)
307(2)
308(1)
309(2)
310(1)
311(2)
312(2)
313(3)
314(1)
315(2)
316(1)
317(2)
318(2)
319(1)
320(1)
321(2)
322(1)
323(2)
324(2)
325(1)
326(1)
327(2)
328(1)
329(1)
330(3)
331(3)
332(2)
333(4)
334(2)
335(2)
336(3)
337(3)
338(2)
339(3)
340(1)
341(1)
342(2)
343(2)
344(1)
345(2)
346(1)
347(2)
348(2)
349(2)
350(1)
351(2)
352(1)
353(3)
354(2)
355(1)
356(1)
357(2)
358(1)
359(2)
360(2)
361(1)
362(1)
363(3)
364(1)
365(1)
366(2)
367(2)
368(1)
369(2)
370(1)
371(1)
372(2)
373(3)
374(1)
375(2)
376(1)
377(1)
378(2)
379(2)
380(1)
381(2)
382(1)
383(3)
384(2)
385(1)
386(1)
387(2)
388(1)
389(2)
390(2)
391(1)
392(1)
393(3)
394(1)
395(1)
396(2)
397(2)
398(1)
399(2)
400(0)
401(1)
402(1)
403(1)
404(0)
405(1)
406(0)
407(0)
408(1)
409(1)
410(0)
411(1)
412(0)
413(1)
414(1)
415(0)
416(0)
417(1)
418(0)
419(1)
420(1)
421(1)
422(0)
423(2)
424(0)
425(0)
426(1)
427(0)
428(0)
429(1)
430(1)
431(2)
432(2)
433(3)
434(1)
435(2)
436(1)
437(1)
438(2)
439(2)
440(0)
441(1)
442(0)
443(2)
444(1)
445(0)
446(0)
447(1)
448(0)
449(1)
450(1)
451(0)
452(0)
453(2)
454(0)
455(0)
456(1)
457(1)
458(0)
459(1)
460(0)
461(1)
462(1)
463(2)
464(0)
465(1)
466(0)
467(1)
468(1)
469(0)
470(0)
471(1)
472(0)
473(1)
474(1)
475(0)
476(0)
477(1)
478(0)
479(1)
480(1)
481(0)
482(0)
483(2)
484(0)
485(0)
486(1)
487(1)
488(0)
489(1)
490(0)
491(1)
492(1)
493(1)
494(0)
495(1)
496(0)
497(0)
498(1)
499(1)
500(0)