fork download
  1. 1.upto(100){|i|
  2. c1=0
  3. 1.upto(i){|j|
  4. c1+=1 if i.gcd(j)==1
  5. }
  6. #puts i.to_s+","+c1.to_s+","+(i-c1).to_s
  7. }
  8. cs=[0]*200
  9. ds=[0]*200
  10. 2.upto(100){|i|
  11. if cs[i]==0 then
  12. c1=0
  13. n1=i
  14. while n1<=100
  15. c1+=1
  16. cs[n1]+=c1
  17. n1+=i
  18. end
  19. else
  20. c1=1
  21. n1=i
  22. while n1<=100
  23. ds[n1]-=c1
  24. n1+=i
  25. end
  26. end
  27. }
  28. 1.upto(100){|i|
  29. puts [i,i-cs[i],cs[i],ds[i]].join(",")
  30. }
Success #stdin #stdout 0.01s 8040KB
stdin
Standard input is empty
stdout
1,1,0,0
2,1,1,0
3,2,1,0
4,2,2,-1
5,4,1,0
6,1,5,-1
7,6,1,0
8,4,4,-2
9,6,3,-1
10,3,7,-1
11,10,1,0
12,2,10,-3
13,12,1,0
14,5,9,-1
15,7,8,-1
16,8,8,-3
17,16,1,0
18,3,15,-3
19,18,1,0
20,6,14,-3
21,11,10,-1
22,9,13,-1
23,22,1,0
24,4,20,-5
25,20,5,-1
26,11,15,-1
27,18,9,-2
28,10,18,-3
29,28,1,0
30,-1,31,-4
31,30,1,0
32,16,16,-4
33,19,14,-1
34,15,19,-1
35,23,12,-1
36,6,30,-6
37,36,1,0
38,17,21,-1
39,23,16,-1
40,12,28,-5
41,40,1,0
42,1,41,-4
43,42,1,0
44,18,26,-3
45,21,24,-3
46,21,25,-1
47,46,1,0
48,8,40,-7
49,42,7,-1
50,15,35,-3
51,31,20,-1
52,22,30,-3
53,52,1,0
54,9,45,-5
55,39,16,-1
56,20,36,-5
57,35,22,-1
58,27,31,-1
59,58,1,0
60,-2,62,-8
61,60,1,0
62,29,33,-1
63,33,30,-3
64,32,32,-5
65,47,18,-1
66,5,61,-4
67,66,1,0
68,30,38,-3
69,43,26,-1
70,11,59,-4
71,70,1,0
72,12,60,-9
73,72,1,0
74,35,39,-1
75,35,40,-3
76,34,42,-3
77,59,18,-1
78,7,71,-4
79,78,1,0
80,24,56,-7
81,54,27,-3
82,39,43,-1
83,82,1,0
84,2,82,-8
85,63,22,-1
86,41,45,-1
87,55,32,-1
88,36,52,-5
89,88,1,0
90,-3,93,-8
91,71,20,-1
92,42,50,-3
93,59,34,-1
94,45,49,-1
95,71,24,-1
96,16,80,-9
97,96,1,0
98,35,63,-3
99,57,42,-3
100,30,70,-6