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))
Standard input is empty
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)