fork download
  1. #include <iostream>
  2. #include <cstdint>
  3. #include <random>
  4. #include <tuple>
  5.  
  6. std::uint64_t MakeNunber(std::uint64_t Radix=10,unsigned int S=0) {
  7. std::minstd_rand mr(S);
  8.  
  9. std::uniform_int_distribution<std::uint64_t> UI(Radix, Radix * Radix - 1);
  10.  
  11. return UI(mr);
  12. }
  13.  
  14. std::tuple<std::uint64_t,std::uint64_t> MakeHoge(std::uint64_t N, std::uint64_t Radix) {
  15. std::uint64_t C = 0;
  16. do {
  17.  
  18. std::uint64_t A = N % Radix;
  19. std::uint64_t B = N / Radix;
  20. N = A * B;
  21. C++;
  22. } while (N >= Radix);
  23.  
  24. return { N,C };
  25. }
  26.  
  27. int main() {
  28. std::uint64_t Radix = 10;
  29.  
  30. std::size_t L = 10;
  31.  
  32. for (std::size_t i = Radix; i < Radix*Radix; i++) {
  33. //std::uint64_t N = MakeNunber(Radix,i);
  34. std::uint64_t N = i;
  35. std::uint64_t V = N;
  36. std::uint64_t C = 0;
  37.  
  38. std::tie(N, C) = MakeHoge(N, Radix);
  39. std::cout <<"V="<< V<<" N=" << N << " C=" << C << std::endl;
  40. }
  41. }
Success #stdin #stdout 0s 4396KB
stdin
Standard input is empty
stdout
V=10 N=0 C=1
V=11 N=1 C=1
V=12 N=2 C=1
V=13 N=3 C=1
V=14 N=4 C=1
V=15 N=5 C=1
V=16 N=6 C=1
V=17 N=7 C=1
V=18 N=8 C=1
V=19 N=9 C=1
V=20 N=0 C=1
V=21 N=2 C=1
V=22 N=4 C=1
V=23 N=6 C=1
V=24 N=8 C=1
V=25 N=0 C=2
V=26 N=2 C=2
V=27 N=4 C=2
V=28 N=6 C=2
V=29 N=8 C=2
V=30 N=0 C=1
V=31 N=3 C=1
V=32 N=6 C=1
V=33 N=9 C=1
V=34 N=2 C=2
V=35 N=5 C=2
V=36 N=8 C=2
V=37 N=2 C=2
V=38 N=8 C=2
V=39 N=4 C=3
V=40 N=0 C=1
V=41 N=4 C=1
V=42 N=8 C=1
V=43 N=2 C=2
V=44 N=6 C=2
V=45 N=0 C=2
V=46 N=8 C=2
V=47 N=6 C=3
V=48 N=6 C=2
V=49 N=8 C=3
V=50 N=0 C=1
V=51 N=5 C=1
V=52 N=0 C=2
V=53 N=5 C=2
V=54 N=0 C=2
V=55 N=0 C=3
V=56 N=0 C=2
V=57 N=5 C=3
V=58 N=0 C=2
V=59 N=0 C=3
V=60 N=0 C=1
V=61 N=6 C=1
V=62 N=2 C=2
V=63 N=8 C=2
V=64 N=8 C=2
V=65 N=0 C=2
V=66 N=8 C=3
V=67 N=8 C=2
V=68 N=6 C=3
V=69 N=0 C=3
V=70 N=0 C=1
V=71 N=7 C=1
V=72 N=4 C=2
V=73 N=2 C=2
V=74 N=6 C=3
V=75 N=5 C=3
V=76 N=8 C=2
V=77 N=8 C=4
V=78 N=0 C=3
V=79 N=8 C=3
V=80 N=0 C=1
V=81 N=8 C=1
V=82 N=6 C=2
V=83 N=8 C=2
V=84 N=6 C=2
V=85 N=0 C=2
V=86 N=6 C=3
V=87 N=0 C=3
V=88 N=8 C=3
V=89 N=4 C=3
V=90 N=0 C=1
V=91 N=9 C=1
V=92 N=8 C=2
V=93 N=4 C=3
V=94 N=8 C=3
V=95 N=0 C=3
V=96 N=0 C=3
V=97 N=8 C=3
V=98 N=4 C=3
V=99 N=8 C=2