fork download
  1. // MulToN.cpp : アプリケーションのエントリ ポイントを定義します。
  2. //
  3. #include <iostream>
  4. #include <vector>
  5. #include <tuple>
  6. #include <cstdint>
  7. #include <cmath>
  8. #include <algorithm>
  9.  
  10. typedef std::tuple < std::uint64_t, std::uint64_t> Data;
  11. typedef std::vector<Data> DType;
  12.  
  13. DType MakeHoge(std::uint64_t N) {
  14.  
  15. std::uint64_t Root = std::sqrt(N);
  16. DType D;
  17. std::uint64_t T = N + 1;
  18.  
  19. for (std::uint64_t i = 1; i <= Root; i++) {
  20. if (i*(N / i) == N)D.push_back({ i,N / i });
  21. if (i*(T + i) == N)D.push_back({ i,T * i });
  22. if (i*i == N)D.push_back({ i,i });
  23. if ((T-i)*(T-i) == N)D.push_back({T-i,T-i });
  24. }
  25. std::sort(D.begin(), D.end(), [](auto& a, auto& b) {return std::get<0>(a) + std::get<1>(a) < std::get<0>(b) + std::get<1>(b); });
  26.  
  27. return D;
  28. }
  29.  
  30. bool Show(const std::uint64_t N, const Data& D) {
  31. std::cout << N << ':' << std::get<0>(D) << '*' << std::get<1>(D) << std::endl;
  32. return true;
  33. }
  34.  
  35. int main()
  36. {
  37. DType D;
  38. for (std::uint64_t i = 0; i <= 1000; i++) {
  39. D = MakeHoge(i);
  40. if (D.size() == 0)continue;
  41. Show(i, D[0]);
  42. }
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0.01s 4544KB
stdin
Standard input is empty
stdout
1:1*1
2:1*2
3:1*3
4:2*2
5:1*5
6:2*3
7:1*7
8:2*4
9:3*3
10:2*5
11:1*11
12:3*4
13:1*13
14:2*7
15:3*5
16:4*4
17:1*17
18:3*6
19:1*19
20:4*5
21:3*7
22:2*11
23:1*23
24:4*6
25:5*5
26:2*13
27:3*9
28:4*7
29:1*29
30:5*6
31:1*31
32:4*8
33:3*11
34:2*17
35:5*7
36:6*6
37:1*37
38:2*19
39:3*13
40:5*8
41:1*41
42:6*7
43:1*43
44:4*11
45:5*9
46:2*23
47:1*47
48:6*8
49:7*7
50:5*10
51:3*17
52:4*13
53:1*53
54:6*9
55:5*11
56:7*8
57:3*19
58:2*29
59:1*59
60:6*10
61:1*61
62:2*31
63:7*9
64:8*8
65:5*13
66:6*11
67:1*67
68:4*17
69:3*23
70:7*10
71:1*71
72:8*9
73:1*73
74:2*37
75:5*15
76:4*19
77:7*11
78:6*13
79:1*79
80:8*10
81:9*9
82:2*41
83:1*83
84:7*12
85:5*17
86:2*43
87:3*29
88:8*11
89:1*89
90:9*10
91:7*13
92:4*23
93:3*31
94:2*47
95:5*19
96:8*12
97:1*97
98:7*14
99:9*11
100:10*10
101:1*101
102:6*17
103:1*103
104:8*13
105:7*15
106:2*53
107:1*107
108:9*12
109:1*109
110:10*11
111:3*37
112:8*14
113:1*113
114:6*19
115:5*23
116:4*29
117:9*13
118:2*59
119:7*17
120:10*12
121:11*11
122:2*61
123:3*41
124:4*31
125:5*25
126:9*14
127:1*127
128:8*16
129:3*43
130:10*13
131:1*131
132:11*12
133:7*19
134:2*67
135:9*15
136:8*17
137:1*137
138:6*23
139:1*139
140:10*14
141:3*47
142:2*71
143:11*13
144:12*12
145:5*29
146:2*73
147:7*21
148:4*37
149:1*149
150:10*15
151:1*151
152:8*19
153:9*17
154:11*14
155:5*31
156:12*13
157:1*157
158:2*79
159:3*53
160:10*16
161:7*23
162:9*18
163:1*163
164:4*41
165:11*15
166:2*83
167:1*167
168:12*14
169:13*13
170:10*17
171:9*19
172:4*43
173:1*173
174:6*29
175:7*25
176:11*16
177:3*59
178:2*89
179:1*179
180:12*15
181:1*181
182:13*14
183:3*61
184:8*23
185:5*37
186:6*31
187:11*17
188:4*47
189:9*21
190:10*19
191:1*191
192:12*16
193:1*193
194:2*97
195:13*15
196:14*14
197:1*197
198:11*18
199:1*199
200:10*20
201:3*67
202:2*101
203:7*29
204:12*17
205:5*41
206:2*103
207:9*23
208:13*16
209:11*19
210:14*15
211:1*211
212:4*53
213:3*71
214:2*107
215:5*43
216:12*18
217:7*31
218:2*109
219:3*73
220:11*20
221:13*17
222:6*37
223:1*223
224:14*16
225:15*15
226:2*113
227:1*227
228:12*19
229:1*229
230:10*23
231:11*21
232:8*29
233:1*233
234:13*18
235:5*47
236:4*59
237:3*79
238:14*17
239:1*239
240:15*16
241:1*241
242:11*22
243:9*27
244:4*61
245:7*35
246:6*41
247:13*19
248:8*31
249:3*83
250:10*25
251:1*251
252:14*18
253:11*23
254:2*127
255:15*17
256:16*16
257:1*257
258:6*43
259:7*37
260:13*20
261:9*29
262:2*131
263:1*263
264:12*22
265:5*53
266:14*19
267:3*89
268:4*67
269:1*269
270:15*18
271:1*271
272:16*17
273:13*21
274:2*137
275:11*25
276:12*23
277:1*277
278:2*139
279:9*31
280:14*20
281:1*281
282:6*47
283:1*283
284:4*71
285:15*19
286:13*22
287:7*41
288:16*18
289:17*17
290:10*29
291:3*97
292:4*73
293:1*293
294:14*21
295:5*59
296:8*37
297:11*27
298:2*149
299:13*23
300:15*20
301:7*43
302:2*151
303:3*101
304:16*19
305:5*61
306:17*18
307:1*307
308:14*22
309:3*103
310:10*31
311:1*311
312:13*24
313:1*313
314:2*157
315:15*21
316:4*79
317:1*317
318:6*53
319:11*29
320:16*20
321:3*107
322:14*23
323:17*19
324:18*18
325:13*25
326:2*163
327:3*109
328:8*41
329:7*47
330:15*22
331:1*331
332:4*83
333:9*37
334:2*167
335:5*67
336:16*21
337:1*337
338:13*26
339:3*113
340:17*20
341:11*31
342:18*19
343:7*49
344:8*43
345:15*23
346:2*173
347:1*347
348:12*29
349:1*349
350:14*25
351:13*27
352:16*22
353:1*353
354:6*59
355:5*71
356:4*89
357:17*21
358:2*179
359:1*359
360:18*20
361:19*19
362:2*181
363:11*33
364:14*26
365:5*73
366:6*61
367:1*367
368:16*23
369:9*41
370:10*37
371:7*53
372:12*31
373:1*373
374:17*22
375:15*25
376:8*47
377:13*29
378:18*21
379:1*379
380:19*20
381:3*127
382:2*191
383:1*383
384:16*24
385:11*35
386:2*193
387:9*43
388:4*97
389:1*389
390:15*26
391:17*23
392:14*28
393:3*131
394:2*197
395:5*79
396:18*22
397:1*397
398:2*199
399:19*21
400:20*20
401:1*401
402:6*67
403:13*31
404:4*101
405:15*27
406:14*29
407:11*37
408:17*24
409:1*409
410:10*41
411:3*137
412:4*103
413:7*59
414:18*23
415:5*83
416:16*26
417:3*139
418:19*22
419:1*419
420:20*21
421:1*421
422:2*211
423:9*47
424:8*53
425:17*25
426:6*71
427:7*61
428:4*107
429:13*33
430:10*43
431:1*431
432:18*24
433:1*433
434:14*31
435:15*29
436:4*109
437:19*23
438:6*73
439:1*439
440:20*22
441:21*21
442:17*26
443:1*443
444:12*37
445:5*89
446:2*223
447:3*149
448:16*28
449:1*449
450:18*25
451:11*41
452:4*113
453:3*151
454:2*227
455:13*35
456:19*24
457:1*457
458:2*229
459:17*27
460:20*23
461:1*461
462:21*22
463:1*463
464:16*29
465:15*31
466:2*233
467:1*467
468:18*26
469:7*67
470:10*47
471:3*157
472:8*59
473:11*43
474:6*79
475:19*25
476:17*28
477:9*53
478:2*239
479:1*479
480:20*24
481:13*37
482:2*241
483:21*23
484:22*22
485:5*97
486:18*27
487:1*487
488:8*61
489:3*163
490:14*35
491:1*491
492:12*41
493:17*29
494:19*26
495:15*33
496:16*31
497:7*71
498:6*83
499:1*499
500:20*25
501:3*167
502:2*251
503:1*503
504:21*24
505:5*101
506:22*23
507:13*39
508:4*127
509:1*509
510:17*30
511:7*73
512:16*32
513:19*27
514:2*257
515:5*103
516:12*43
517:11*47
518:14*37
519:3*173
520:20*26
521:1*521
522:18*29
523:1*523
524:4*131
525:21*25
526:2*263
527:17*31
528:22*24
529:23*23
530:10*53
531:9*59
532:19*28
533:13*41
534:6*89
535:5*107
536:8*67
537:3*179
538:2*269
539:11*49
540:20*27
541:1*541
542:2*271
543:3*181
544:17*32
545:5*109
546:21*26
547:1*547
548:4*137
549:9*61
550:22*25
551:19*29
552:23*24
553:7*79
554:2*277
555:15*37
556:4*139
557:1*557
558:18*31
559:13*43
560:20*28
561:17*33
562:2*281
563:1*563
564:12*47
565:5*113
566:2*283
567:21*27
568:8*71
569:1*569
570:19*30
571:1*571
572:22*26
573:3*191
574:14*41
575:23*25
576:24*24
577:1*577
578:17*34
579:3*193
580:20*29
581:7*83
582:6*97
583:11*53
584:8*73
585:15*39
586:2*293
587:1*587
588:21*28
589:19*31
590:10*59
591:3*197
592:16*37
593:1*593
594:22*27
595:17*35
596:4*149
597:3*199
598:23*26
599:1*599
600:24*25
601:1*601
602:14*43
603:9*67
604:4*151
605:11*55
606:6*101
607:1*607
608:19*32
609:21*29
610:10*61
611:13*47
612:18*34
613:1*613
614:2*307
615:15*41
616:22*28
617:1*617
618:6*103
619:1*619
620:20*31
621:23*27
622:2*311
623:7*89
624:24*26
625:25*25
626:2*313
627:19*33
628:4*157
629:17*37
630:21*30
631:1*631
632:8*79
633:3*211
634:2*317
635:5*127
636:12*53
637:13*49
638:22*29
639:9*71
640:20*32
641:1*641
642:6*107
643:1*643
644:23*28
645:15*43
646:19*34
647:1*647
648:24*27
649:11*59
650:25*26
651:21*31
652:4*163
653:1*653
654:6*109
655:5*131
656:16*41
657:9*73
658:14*47
659:1*659
660:22*30
661:1*661
662:2*331
663:17*39
664:8*83
665:19*35
666:18*37
667:23*29
668:4*167
669:3*223
670:10*67
671:11*61
672:24*28
673:1*673
674:2*337
675:25*27
676:26*26
677:1*677
678:6*113
679:7*97
680:20*34
681:3*227
682:22*31
683:1*683
684:19*36
685:5*137
686:14*49
687:3*229
688:16*43
689:13*53
690:23*30
691:1*691
692:4*173
693:21*33
694:2*347
695:5*139
696:24*29
697:17*41
698:2*349
699:3*233
700:25*28
701:1*701
702:26*27
703:19*37
704:22*32
705:15*47
706:2*353
707:7*101
708:12*59
709:1*709
710:10*71
711:9*79
712:8*89
713:23*31
714:21*34
715:13*55
716:4*179
717:3*239
718:2*359
719:1*719
720:24*30
721:7*103
722:19*38
723:3*241
724:4*181
725:25*29
726:22*33
727:1*727
728:26*28
729:27*27
730:10*73
731:17*43
732:12*61
733:1*733
734:2*367
735:21*35
736:23*32
737:11*67
738:18*41
739:1*739
740:20*37
741:19*39
742:14*53
743:1*743
744:24*31
745:5*149
746:2*373
747:9*83
748:22*34
749:7*107
750:25*30
751:1*751
752:16*47
753:3*251
754:26*29
755:5*151
756:27*28
757:1*757
758:2*379
759:23*33
760:20*38
761:1*761
762:6*127
763:7*109
764:4*191
765:17*45
766:2*383
767:13*59
768:24*32
769:1*769
770:22*35
771:3*257
772:4*193
773:1*773
774:18*43
775:25*31
776:8*97
777:21*37
778:2*389
779:19*41
780:26*30
781:11*71
782:23*34
783:27*29
784:28*28
785:5*157
786:6*131
787:1*787
788:4*197
789:3*263
790:10*79
791:7*113
792:24*33
793:13*61
794:2*397
795:15*53
796:4*199
797:1*797
798:21*38
799:17*47
800:25*32
801:9*89
802:2*401
803:11*73
804:12*67
805:23*35
806:26*31
807:3*269
808:8*101
809:1*809
810:27*30
811:1*811
812:28*29
813:3*271
814:22*37
815:5*163
816:24*34
817:19*43
818:2*409
819:21*39
820:20*41
821:1*821
822:6*137
823:1*823
824:8*103
825:25*33
826:14*59
827:1*827
828:23*36
829:1*829
830:10*83
831:3*277
832:26*32
833:17*49
834:6*139
835:5*167
836:22*38
837:27*31
838:2*419
839:1*839
840:28*30
841:29*29
842:2*421
843:3*281
844:4*211
845:13*65
846:18*47
847:11*77
848:16*53
849:3*283
850:25*34
851:23*37
852:12*71
853:1*853
854:14*61
855:19*45
856:8*107
857:1*857
858:26*33
859:1*859
860:20*43
861:21*41
862:2*431
863:1*863
864:27*32
865:5*173
866:2*433
867:17*51
868:28*31
869:11*79
870:29*30
871:13*67
872:8*109
873:9*97
874:23*38
875:25*35
876:12*73
877:1*877
878:2*439
879:3*293
880:22*40
881:1*881
882:21*42
883:1*883
884:26*34
885:15*59
886:2*443
887:1*887
888:24*37
889:7*127
890:10*89
891:27*33
892:4*223
893:19*47
894:6*149
895:5*179
896:28*32
897:23*39
898:2*449
899:29*31
900:30*30
901:17*53
902:22*41
903:21*43
904:8*113
905:5*181
906:6*151
907:1*907
908:4*227
909:9*101
910:26*35
911:1*911
912:24*38
913:11*83
914:2*457
915:15*61
916:4*229
917:7*131
918:27*34
919:1*919
920:23*40
921:3*307
922:2*461
923:13*71
924:28*33
925:25*37
926:2*463
927:9*103
928:29*32
929:1*929
930:30*31
931:19*49
932:4*233
933:3*311
934:2*467
935:17*55
936:26*36
937:1*937
938:14*67
939:3*313
940:20*47
941:1*941
942:6*157
943:23*41
944:16*59
945:27*35
946:22*43
947:1*947
948:12*79
949:13*73
950:25*38
951:3*317
952:28*34
953:1*953
954:18*53
955:5*191
956:4*239
957:29*33
958:2*479
959:7*137
960:30*32
961:31*31
962:26*37
963:9*107
964:4*241
965:5*193
966:23*42
967:1*967
968:22*44
969:19*51
970:10*97
971:1*971
972:27*36
973:7*139
974:2*487
975:25*39
976:16*61
977:1*977
978:6*163
979:11*89
980:28*35
981:9*109
982:2*491
983:1*983
984:24*41
985:5*197
986:29*34
987:21*47
988:26*38
989:23*43
990:30*33
991:1*991
992:31*32
993:3*331
994:14*71
995:5*199
996:12*83
997:1*997
998:2*499
999:27*37
1000:25*40