Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.51 KB | None | 0 0
  1. 1
  2. 111
  3. 11111
  4. 1111111
  5. 111111111
  6. 11111111111
  7. 1111111111111
  8. 111111111111111
  9. 1 1
  10. 111 111
  11. 11111 11111
  12. 1111111 1111111
  13. 111111111 111111111
  14. 11111111111 11111111111
  15. 1111111111111 1111111111111
  16. 111111111111111 111111111111111
  17. 1 1
  18. 111 111
  19. 11111 11111
  20. 1111111 1111111
  21. 111111111 111111111
  22. 11111111111 11111111111
  23. 1111111111111 1111111111111
  24. 111111111111111 111111111111111
  25. 1 1 1 1
  26. 111 111 111 111
  27. 11111 11111 11111 11111
  28. 1111111 1111111 1111111 1111111
  29. 111111111 111111111 111111111 111111111
  30. 11111111111 11111111111 11111111111 11111111111
  31. 1111111111111 1111111111111 1111111111111 1111111111111
  32. 111111111111111 111111111111111 111111111111111 111111111111111
  33.  
  34. def ft(n: Int) = {
  35. for (i <- 1 to n) {
  36. for (j <- n to i by -1) {
  37. print(" ")
  38. }
  39. for (k <- 1 to 2 * i - 1) {
  40. print("1")
  41.  
  42. }
  43. print("n")
  44. }
  45. }
  46.  
  47. 1
  48. 111
  49. 11111
  50. 1111111
  51. 111111111
  52.  
  53. def triangle = {
  54. for (i <- 1 to 5) {
  55. for (j <- 1 to 5) {
  56. if (j <= i)
  57. print("1")
  58. else
  59. print(" ")
  60. }
  61. for (j <- 5 to 1 by -1) {
  62. if (j <= i)
  63. print("1");
  64. else
  65. print(" ");
  66. }
  67. print("n");
  68. }
  69. }
  70.  
  71. %PS-Adobe 3.0
  72.  
  73. /Sierp { % x1 y1 x2 y1 x3 y3 depth
  74. 13 dict begin
  75. /D exch def
  76. /Y3 exch def
  77. /X3 exch def
  78. /Y2 exch def
  79. /X2 exch def
  80. /Y1 exch def
  81. /X1 exch def
  82.  
  83. D 0 le {
  84. newpath
  85. X1 Y1 moveto
  86. X2 Y2 lineto
  87. X3 Y3 lineto
  88. fill
  89. } {
  90. /X12 X1 X2 add 0.5 mul def
  91. /Y12 Y1 Y2 add 0.5 mul def
  92. /X23 X2 X3 add 0.5 mul def
  93. /Y23 Y2 Y3 add 0.5 mul def
  94. /X31 X3 X1 add 0.5 mul def
  95. /Y31 Y3 Y1 add 0.5 mul def
  96.  
  97. X1 Y1 X12 Y12 X31 Y31 D 1 sub Sierp
  98. X12 Y12 X2 Y2 X23 Y23 D 1 sub Sierp
  99. X31 Y31 X23 Y23 X3 Y3 D 1 sub Sierp
  100. } ifelse
  101.  
  102. end
  103. } bind def
  104.  
  105. /Sierpinski { % xc yc radius depth
  106. 4 dict begin
  107. /D exch def
  108. /R exch def
  109. /Y exch def
  110. /X exch def
  111.  
  112. X
  113. Y R add
  114. X 0.8333 R mul add
  115. Y -0.5 R mul add
  116. X -0.8333 R mul add
  117. Y -0.5 R mul add
  118. D
  119. Sierp
  120. end
  121. } bind def
  122.  
  123. 300 400 250 6 Sierpinski
  124. showpage
  125.  
  126. def sierpinski(n):
  127. d = ["*"]
  128. for i in xrange(n):
  129. sp = " " * (2 ** i)
  130. d = [sp+x+sp for x in d] + [x+" "+x for x in d]
  131. return d
  132.  
  133. print "n".join(sierpinski(4))
  134.  
  135. sp is c
  136. ['c*c', '*c*']
  137.  
  138.  
  139. sp is cc
  140. ['ccc*ccc', 'cc*c*cc', 'c*ccc*c', '*c*c*c*']
  141.  
  142.  
  143. sp is cccc
  144. ['ccccccc*ccccccc', 'cccccc*c*cccccc', 'ccccc*ccc*ccccc', 'cccc*c*c*c*cccc', 'ccc*ccccccc*ccc', 'cc*c*ccccc*c*cc', 'c*ccc*ccc*ccc*c', '*c*c*c*c*c*c*c*']
  145.  
  146.  
  147. sp is cccccccc
  148. ['ccccccccccccccc*ccccccccccccccc', 'cccccccccccccc*c*cccccccccccccc', 'ccccccccccccc*ccc*ccccccccccccc', 'cccccccccccc*c*c*c*cccccccccccc', 'ccccccccccc*ccccccc*ccccccccccc', 'cccccccccc*c*ccccc*c*cccccccccc', 'ccccccccc*ccc*ccc*ccc*ccccccccc', 'cccccccc*c*c*c*c*c*c*c*cccccccc', 'ccccccc*ccccccccccccccc*ccccccc', 'cccccc*c*ccccccccccccc*c*cccccc', 'ccccc*ccc*ccccccccccc*ccc*ccccc', 'cccc*c*c*c*ccccccccc*c*c*c*cccc', 'ccc*ccccccc*ccccccc*ccccccc*ccc', 'cc*c*ccccc*c*ccccc*c*ccccc*c*cc', 'c*ccc*ccc*ccc*ccc*ccc*ccc*ccc*c', '*c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*']
  149.  
  150.  
  151. ccccccccccccccc*ccccccccccccccc
  152. cccccccccccccc*c*cccccccccccccc
  153. ccccccccccccc*ccc*ccccccccccccc
  154. cccccccccccc*c*c*c*cccccccccccc
  155. ccccccccccc*ccccccc*ccccccccccc
  156. cccccccccc*c*ccccc*c*cccccccccc
  157. ccccccccc*ccc*ccc*ccc*ccccccccc
  158. cccccccc*c*c*c*c*c*c*c*cccccccc
  159. ccccccc*ccccccccccccccc*ccccccc
  160. cccccc*c*ccccccccccccc*c*cccccc
  161. ccccc*ccc*ccccccccccc*ccc*ccccc
  162. cccc*c*c*c*ccccccccc*c*c*c*cccc
  163. ccc*ccccccc*ccccccc*ccccccc*ccc
  164. cc*c*ccccc*c*ccccc*c*ccccc*c*cc
  165. c*ccc*ccc*ccc*ccc*ccc*ccc*ccc*c
  166. *c*c*c*c*c*c*c*c*c*c*c*c*c*c*c*
  167.  
  168. function Triangle() {}
  169.  
  170. Triangle.prototype.height = function () {
  171. return this.data.length;
  172. }
  173.  
  174. Triangle.prototype.scale = function scale(ctx, height) {
  175. ballsfits = this.canvas.width / 2;
  176. ballsgot = height;
  177. var scale = ballsfits / ballsgot;
  178. ctx.scale(scale, scale);
  179. return scale;
  180. }
  181.  
  182. Triangle.prototype.init = function () {
  183. this.canvas = gCanvas();
  184. var ctx = this.canvas.getContext("2d");
  185. this.canvas.width = this.canvas.width; //clear
  186. ctx.strokeStyle = "#000";
  187. return ctx;
  188. }
  189.  
  190. Triangle.prototype.generate = function (height) {
  191. //init
  192. this.data = new Array();
  193. this.data.push([1]);
  194. this.data.push(new Array(1, 1));
  195.  
  196. for (var i = 2; i < height; i++) {
  197. var cRow = [1];
  198. // add each two members of preceeding row
  199. for (var j = 0; j < this.data[i - 1].length - 1; j++)
  200. cRow.push((this.data[i - 1][j] + this.data[i - 1][j + 1]) % 2);
  201. cRow.push(1);
  202. this.data.push(cRow);
  203. }
  204. }
  205.  
  206. Triangle.prototype.draw = function () {
  207. var h = this.height();
  208. var ctx = this.init();
  209. var scale = this.scale(ctx, h);
  210. for (var y = 0; y < h; y++)
  211. for (var x = 0; x < this.data[y].length; x++)
  212. if (0 != this.data[y][x]) {
  213. ctx.beginPath();
  214. ctx.arc(h - this.data[y].length + x * 2 + 1, y * 2 + 1, 1, 0, Math.PI * 2);
  215. ctx.fill();
  216. }
  217. }
  218.  
  219. (this.data[i - 1][j] + this.data[i - 1][j + 1]) % 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement