এলোমেলোভাবে পয়েন্ট স্থাপন এবং তাদের সংযোগ করতে সংক্ষিপ্ততম কোড


26

কাজটি

এটি বেশ সহজ কোডিংয়ের কাজ, আপনার সমস্ত প্রোগ্রামটি করতে হবে একটি ক্যানভাসে (বা অন্য কোডিং ভাষায় আপনার বিকল্প) একটি পয়েন্ট স্থাপন এবং এটি ইতিমধ্যে স্থাপন করা সমস্ত বিন্দুর সাথে সংযুক্ত করে। আপনার প্রোগ্রামটি অবশ্যই একটি ইনপুট গ্রহণ করতে হবে, যে বিন্দুর সংখ্যা স্থাপন করা উচিত এবং বিন্দুর সাথে সংযুক্ত কোনও ধরণের প্রদর্শন আউটপুট নিতে হবে। উদাহরণ

আবশ্যকতা

  • আমাকে এটি চালাতে সক্ষম হতে হবে, যার অর্থ এটি অনলাইনে চালানোর জন্য এটির একটি সংকলক / সরঞ্জাম থাকতে হবে, অথবা ডাউনলোড করার জন্য সর্বজনীনভাবে উপলব্ধ।
  • এই চ্যালেঞ্জটি সেট হওয়ার আগে আপনাকে তৈরি করা কোনও গ্রন্থাগার ব্যবহার করার অনুমতি দেওয়া হবে, যতক্ষণ না এটি সমাধানের একমাত্র উদ্দেশ্যে এটি তৈরি করা হয়নি।
  • এটি একটি সংক্ষিপ্ততম কোড টাস্ক, যার অর্থ অক্ষর। মন্তব্যসমূহ, কোড যা রঙ পরিবর্তন করে (pretiness জন্য) এবং লাইব্রেরি উপেক্ষা করা হবে।
  • আপনার উত্তরটি অবশ্যই অনন্য হতে হবে, অন্যান্য লোকের কোড চুরি করবেন না, এটি কয়েকটি অক্ষর ছোট করুন এবং পুনরায় পোস্ট করুন।
  • এটি 5 ও 100 এর মানগুলির জন্য 5 মিনিটেরও কম সময়ে চালাতে সক্ষম হতে হবে It এটি অবশ্যই কমপক্ষে 200 * 200 এর রেজোলিউশন ব্যবহার করে এবং প্রতিটি বিন্দুকে একটি তুচ্ছ বিতরণ ব্যবহার করে ক্যানভাসে এলোমেলো স্থানে রাখতে হবে।

বর্তমান লিডারবোর্ড

Flawr        - Matlab        - 22  - Confirmed
Falko        - Python 2      - 41  - Confirmed
Wyldstallyns - NetLogo       - 51  - Confirmed 
Ssdecontrol  - R             - 66  - Confirmed
David        - Mathematica   - 95  - Confirmed
ILoveQBasic  - QBasic        - 130 - Confirmed
Adriweb      - TI-Nspire Lua - 145 - Confirmed
Manatwork    - Bash          - 148 - Confirmed
Doorknob     - Python 2      - 158 - Confirmed
Kevin        - TCL           - 161 - Confirmed
M L          - HPPPL         - 231 - Confirmed
Manatwork    - HTML/JS       - 261 - Confirmed - Improved code of Scrblnrd3
Makando      - C#            - 278 - Confirmed
Scrblnrd3    - HTML/JS       - 281 - Confirmed
Geobits      - Java          - 282 - Confirmed

যদি আমি আপনাকে মিস করি তবে আমি দুঃখিত, আমি আপনার কাজটিতে এমন মন্তব্য করে কেবল একটি মন্তব্য যুক্ত করুন এবং আমি এটি দেখামাত্র এটি যুক্ত করব =)

টি এল; ডিআর

  • ইনপুট - বিন্দুর সংখ্যা (পূর্ববর্তী, কঠোর কোড করা যেতে পারে)
  • আউটপুট - এলোমেলোভাবে স্থাপন করা বিন্দুর চিত্র, সমস্ত একে অপরের সাথে সংযুক্ত (গ্রাফিক)
  • বিজয়ী - সংক্ষিপ্ততম কোড

1
আমি কি গণিতের গ্রন্থাগারগুলিকে অনুমতি দিচ্ছি? প্রয়োজনীয়তা # 2 নিয়ে আপনি কোন লাইব্রেরি এড়াতে চেষ্টা করছেন?
নাথান মেরিল

2
সমাধানের কি কোনও সীমাবদ্ধতা আছে? আপনি যদি আমাকে 1x1 চিত্র আউটপুট করতে দেন তবে এটি বেশ সহজ
জন ডিভোরাক

3
আপনি যখন কোনও "গণিত" লাইব্রেরি বলবেন না, সেখানে ডিফল্ট পিআরএনজি "গণিত" এর অন্তর্ভুক্ত থাকা ভাষাগুলির কী হবে? আমি কোনও জেনারেটর লিখতে চাই না।
Geobits

1
যেহেতু আপনি লাইব্রেরি কোডটি সরাসরি কাজের সাথে সম্পর্কিত তা বঞ্চিত করেন এবং সেই কাজটি মূলত একটি এলোমেলো নেটওয়ার্ক গ্রাফ আঁকতে হয় তাই নেটিভ গ্রাফ-অঙ্কন ফাংশনগুলিও কি অনুমোদিত নয়? এই সীমাবদ্ধতা সুস্পষ্ট সংজ্ঞা থেকে অনেক দূরে is
22:58

3
@ পোপি গিলবার্ট আমার অবশ্যই বলতে হবে, আমি কোনও নতুন ব্যবহারকারীকে তাদের প্রশ্নের সাথে এতটা প্রতিক্রিয়া দেখিনি এবং স্বতন্ত্রভাবে প্রতিটি উত্তর পরীক্ষা করে একটি লিডারবোর্ড বজায় রাখতে দেখিনি। শুভ কাজ এবং পিপিজিসিতে স্বাগতম!
ক্যালভিনের শখ 3

উত্তর:


21

মতলব (22)

gplot(ones(n),rand(n))

এটি অনুমান করা হয় যে n হ'ল পয়েন্টের সংখ্যা, এবং এটি এন = 10 এর মতো দেখাচ্ছে: এলোমেলো গ্রাফ

n=6:

এলোমেলো

Explaination

gplotগ্রাফ প্লট করার জন্য একটি কমান্ড। প্রথম যুক্তি হ'ল একটি n x nঘটনা ম্যাট্রিক্স (স্পষ্টতই পূর্ণ)। দ্বিতীয় আর্গুমেন্টটি n x 2পয়েন্টগুলির স্থানাঙ্কের সাথে একটি ম্যাট্রিক্স হওয়া উচিত , তবে দ্বিতীয় মাত্রা 2 এর চেয়ে বড় হয় তা বিবেচনা করে না, সুতরাং আমি কেবল n x nএলোমেলো মানগুলির একটি ম্যাট্রিক্স উত্পন্ন করি (যা একটি ম্যাট্রিক্স উত্পন্ন করার চেয়ে 2 অক্ষর সংক্ষিপ্ত n x 2)।

ডকুমেন্টেশন লিঙ্ক


মতলব কখনও ব্যবহার করেন নি, তাই এটি পরীক্ষা করতে এক মুহূর্ত সময় নেবে - তবে চিত্র থেকে এটি দেখতে ঠিক আছে! এটি 22 টি চরিত্রে করার জন্য অভিনন্দন। সম্পাদনা - দেখা যাচ্ছে আমি এটি পরীক্ষা করতে পারছি না, তবে চিত্রটির দিকে তাকালে এটি সঠিক বলে মনে হচ্ছে তাই আমি এটির অনুমতি দেব। তবে অন্য কেউ দয়া করে এটি পরীক্ষা করতে পারেন?
আলেকজান্ডার ক্র্যাগস

3
ধন্যবাদ =) আপনি এটি এখানে পরীক্ষা করতে পারেন: অষ্টাভ- অনলাইন.হেতু অষ্টকটি মূলত ম্যাটল্যাব এর মুক্ত সংস্করণ।
flawr

27

জাভা: 318 282 265

কারণ, আপনি জানেন, জাভা:

class M{public static void main(String[]a){new Frame(){public void paint(Graphics g){int i=0,j,d=640,n=25,x[]=new int[n],y[]=x.clone();for(setSize(d,d);i<n;i++)for(j=0,x[i]=(int)(random()*d),y[i]=(int)(random()*d);j<i;g.drawLine(x[i],y[i],x[j],y[j++]));}}.show();}}

এটি কেবলমাত্র একটি সরল লুপ যা এলোমেলো ডটগুলি তৈরি করে এবং বর্তমান বিন্দু এবং পূর্ববর্তী সমস্তগুলির মধ্যে লাইন আঁকবে।

25 ডট সহ উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

লাইন ব্রেক এবং আমদানি সহ:

import java.awt.*;
import static java.lang.Math.*;

class M{
    public static void main(String[]a){
        new Frame(){
            public void paint(Graphics g){
                int i=0,j,d=640,n=25,x[]=new int[n],y[]=x.clone();
                for(setSize(d,d);i<n;i++)
                    for(j=0,x[i]=(int)(random()*d),y[i]=(int)(random()*d);
                        j<i;
                        g.drawLine(x[i],y[i],x[j],y[j++]));
            }
        }.show();
    }
}

সম্পাদনা: যেহেতু আমরা আমদানি গণনা করছি না, আমি পরে কিছু অক্ষর সংরক্ষণ করতে আরও কয়েকটি জিনিস আমদানি করেছি।

সম্পাদনা 2: ওপি বিন্দুগুলির হার্ডকোডিংয়ের জন্য একটি ভাতা যুক্ত করেছে। -17 অক্ষর :)


নিস! প্রথম হয়েছেন বলে অভিনন্দন।
আলেকজান্ডার ক্রেগস

2
প্রথম, তবে আমি নিশ্চিত যে এটি দীর্ঘ শট দ্বারা সংক্ষিপ্ততম হবে না। কারণ, আপনি জানেন, জাভা;)
Geobits

3
আমি জাভাতে সবসময় কাজটি সমাধান করার লোকদের প্রশংসা করি, হতাশ হয়েও, আমি এমনকি গ্রহন শুরু করতে খুব অলস হই ... তাই +1 =)
flawr

1
@ ক্রুঞ্চার হ্যাঁ, জাভা কোড গল্ফের পক্ষে সবচেয়ে ভাল ভাষা নয়। তবে এটি আমি যে প্রথম ভাষা শিখেছিলাম এটি ছিল এবং এটি নেওয়া খুব সহজ। এটি আমাকে ভাল স্থানে ধরেছে তবে ব্যক্তিগতভাবে এটি আমার প্রিয় ভাষা।
আলেকজান্ডার ক্রেগস

1
মূল প্যারামিটারটি চূড়ান্ত হিসাবে সংজ্ঞায়িত করার প্রয়োজন হয় না। আপনি এই 6 টি অক্ষর কেটে ফেলতে পারেন
ক্রাঙ্কার

11

পাইথন 2 - 41 35

এই চ্যালেঞ্জের জন্য অনুমোদিত হিসাবে কিছু পাঠাগার আমদানি করার পরে

from pylab import rand as r
from pylab import plot as p
from itertools import product as x
from itertools import chain as c

আমরা কোডের এক লাইনের সাথে সংযুক্ত কয়েকটি পয়েন্ট প্লট করতে পারি:

X=r(5,2);p(*zip(*c(*list(x(X,X)))))

(স্ক্রিনশটটি 10 ​​পয়েন্ট সহ উত্পন্ন হয়েছিল))


[মুছে ফেলা মন্তব্যটির উল্লেখ:] আমি জানি, তবে এখানে "গ্রন্থাগারগুলি এড়ানো হবে"। যদি তা না হয় তবে আমি অবশ্যই এটি ভিন্নভাবে প্রয়োগ করব। এই লাইব্রেরিগুলি ব্যবহার করে importকোনও সাধারণ কোড গল্ফ চ্যালেঞ্জের বক্তব্যগুলিকে ন্যায়সঙ্গত করতে যথেষ্ট অক্ষর সংরক্ষণ হয় না ।
ফালকো

পাইলাব কি স্ট্যান্ডার্ড ডিস্ট্রিবিউশনের অংশ? আমি কল্পনা করব আমরা কেবল আমাদের পছন্দ মতো কিছু আমদানি করতে পারি না। সেই মেট্রিকের অধীনে আপনি পাইথনে কোনও একক আমদানির বিবৃতি দিয়ে প্রয়োগ করতে পারেন।
ক্রંચার

হ্যাঁ তাই হয় । আমি কেবল যা করেছি তা বৈধ হবে। কিন্তু আমি নিশ্চিত না. এবং মন্তব্যগুলি সন্ধান করে দেখায় একটি বিশাল আলোচনা চলছে। এটি পরিষ্কার হওয়ার সাথে সাথে আমি আমার কোডটি সামঞ্জস্য করতে রাজি হব।
ফালকো

যদিও এই প্রতিযোগিতাগুলি লাইব্রেরিগুলিকে মঞ্জুরিপ্রাপ্ত তা দেখে দিন দিন পরিবর্তিত হতে পারে বলে মনে হচ্ছে, পাইল্যাবকে অবশ্যই অনুমতি দেওয়া উচিত।
আলেকজান্ডার ক্র্যাগস

8

গণিত 95 87

Belisarius থেকে কিছু সাহায্য নিয়ে।

CompleteGraph[n, VertexSize -> {2, 2},
VertexCoordinates -> Table[RandomInteger[{0, 199}, 2], {n}]]

এন = 5

5


এন = 100

সময়: 2.082654 সেকেন্ড

100


এটি যাচাই করা হয়েছে, আমি এটি কাজ করতে পেরেছি! ম্যাথামেটিকায় কি সাধারণত একটি ভাষা হিসাবে গণনা করা হয়?
আলেকজান্ডার ক্রেগস

1
@ পপিগিলবার্ট নিশ্চিত যে এটি করে। আছে ~ 750 উত্তর ম্যাথামেটিকাল মধ্যে এতদূর।
Geobits

ওহ, বাহ, ঠিক আছে! পর্যাপ্ত পরিমাণে <3
আলেকজান্ডার ক্র্যাগস

আমার বোধ হয় এই ছোট অথবা সন্তুষ্ট নিয়মCompleteGraph[100, VertexCoordinates -> RandomReal[{0, 199}, {100, 2}]]
ডঃ belisarius

ধন্যবাদ, আপনি ঠিক বলেছেন। আমি অনুভব করেছি যে আমি জিততে পারি না তাই আমি ভেবেছিলাম আমি এটি সুন্দর করে তুলব (ভার্টেক্সসাইজ -> {2,2}। তবে, আমি 100অন্তর্ভুক্ত করা অপ্রয়োজনীয় Input[]
সত্যটিকে উপেক্ষা করেছি

7

পাইথন 2, 158

চরিত্রের গণনায় অন্তর্ভুক্ত নয় আমদানি বিবৃতি, যেমন প্রশ্নের মধ্যে উল্লেখ করা হয়েছে ("গ্রন্থাগারগুলি এড়ানো হবে")।

from PIL import Image,ImageDraw
from random import randint

s=[(randint(0,200),randint(0,200))for _ in range(int(input()))]
i=Image.new('RGB',(200,200))
[ImageDraw.Draw(i).line((p,q),255)for p in s for q in s]
i.show()

নমুনা আউটপুট:

n = 2 (...):

এন = 2

n = 10 (অভিনব 3 ডি জিনিস বা কোনও কিছুর মতো দেখায়):

এন = 10

n = 100 (দেখে মনে হচ্ছে কেউ লাল কলম দিয়ে BLELEEEAARARGHH গিয়েছে):

এন = 100

n = 500, 1000, 10000 (প্রায় 1.5 সেকেন্ড, 5-6 সেকেন্ড এবং 3.5 মিনিট যথাক্রমে চলে):

দ্রষ্টব্য: 10000 পয়েন্ট একটিকে সামান্য অনুকূলিত সংস্করণ দিয়ে চালানো হয়েছিল যা এটিতে 3 লাইন (আমদানি সহ নয়) পরিবর্তন করেছে:

d=ImageDraw.Draw
for p in s:
  for q in s:d.line((p,q),255)

অন্যথায় এটি চিরকাল নেওয়া হত। : P: P

Ungolfed:

from PIL import Image, ImageDraw
from random import randint
point_count = int(input())
image_size = 200
points = [(randint(0, image_size), randint(0, image_size)) for _ in range(point_count)]
image = Image.new('RGB', (200, 200))
draw = ImageDraw.Draw(image)
for start_point in points:
    for end_point in points:
        draw.line((start_point, end_point), 255)
image.show()

1
বর্তমানে সংক্ষিপ্ত প্রবেশকারী হিসাবে অভিনন্দন! আপনার মন্তব্যটি এন = 100 এ ভালবাসুন। ইমেজ.নিউ এবং ইমেজ_সাইজ আটকে রাখা ভাল হতে পারে less অদ্ভুত লাগছে =)
আলেকজান্ডার ক্রেগস

@ পপিগিলবার্ট তাই আমি কি আমদানি থেকে প্রাপ্ত বিবৃতিগুলি সরাতে পারি ? আমি ধরে নিয়েছিলাম "লাইব্রেরিগুলি উপেক্ষা করুন" এর অর্থ গ্রন্থাগারটি নিজেই গণনা করা হয়নি (যথারীতি)।
Geobits

হ্যাঁ, কারণ কিছু ভাষার খুব কম বেস ফাংশন থাকে এবং তাদের সমস্ত জিনিস আমদানি করতে হয়। আপনি যদি মনে করেন এটি জিওবিটস ন্যায্য নয় তবে দয়া করে বলুন =) আমি এই মেলাটি করার চেষ্টা করতে চাই।
আলেকজান্ডার ক্রেগস

@ পোপি গিলবার্ট আমি কেবল জিজ্ঞাসা করেছি কারণ এটি আদর্শ নয় এবং আমি আমার কোড থেকে আরও কয়েকটি চরিত্র কেটে দেওয়ার আগে এটি পরিষ্কার করতে চেয়েছিলাম: ডি
জিওবিটস

1
যেহেতু রেজল্যুশন শুধুমাত্র হতে হয়েছে অন্তত 200x200, আপনি সেট করে কয়েকটি অক্ষর (5, আমি মনে করি) বাঁচাতে পারে x=255এবং এটি ব্যবহার দৃষ্টান্ত প্রতিস্থাপন 200এবং 255
প্রতিযোগিতামূলক

5

আর, 66

এইটি হ'ল বর্ডারলাইন প্রতারণা তবে আমি এখনও মনে করি এটি বিধিগুলির মধ্যে রয়েছে। এর igraphসাথে প্যাকেজটি লোড করে সেট আপ করুন library(igraph), যা দিয়ে সিআরএএন থেকে ডাউনলোড করা যায় install.packages("igraph")। তারপরে ভেরিয়েবলকে ইনপুট বরাদ্দ করুন N। নিয়ম অনুসারে এগুলি মোট গণনা করা হয় না।

G=graph.adjacency(matrix(1,N,N),"un")
plot(G,layout=layout.random)

এন = 50

এখানে চিত্র বর্ণনা লিখুন

মনে রাখবেন যে এই কোডটি স্ব-সংযোগগুলিও আঁকবে। এগুলি (যদিও তাদের বিরুদ্ধে কোনও বিধি নেই) rule টি অক্ষর যুক্ত করে:

G=graph.adjacency(matrix(1,N,N),"un",diag=F)
plot(G,layout=layout.random)

আর, 141

এটি বেস আর-তে একটি সৎ-সদর্থক সমাধান:

p=replicate(2,runif(N))
g=as.matrix(expand.grid(1:N,1:N))
plot.new()
apply(g,1,function(i) segments(p[i[1],1],p[i[1],2],p[i[2],1],p[i[2],2]))

যদিও আপনি এখনও Nহাতে প্রবেশ করতে হবে ।

এন = 50

এখানে চিত্র বর্ণনা লিখুন

আমি ভাবছি যদি forলুপটি কম চরিত্রের চেয়ে কম হয় applyতবে আমি যা পেয়েছি তাতে আমি খুশি।


আমি স্ব-সংযোগগুলি গ্রহণ করব, প্রযুক্তিগতভাবে প্রশ্নটি সমস্ত পয়েন্টগুলিতে একটি লাইন আঁকবে। আমি এটি পরীক্ষা করেছি এবং এটিও নিশ্চিত করেছি।
আলেকজান্ডার ক্র্যাগস

আপনার কি বিন্দু সংযোগকারী তীর মনে হচ্ছে? ,"un"এটি প্রথম লাইনের শেষে মুছে ফেলে আরও 5 টি সাশ্রয় করবে ।
শ্যাডট্যালকার

যদি আপনি কিছু মনে করেন না, আমি মনে করি আমাদের এটি রাখা উচিত তাই এটি প্রতিটি পয়েন্টের সাথে সংযোগকারী লাইন হতে হবে। এইভাবে উত্তর প্রতিটি উত্তর মত একই প্রদর্শিত হবে।
আলেকজান্ডার ক্রেগস

5

কিউ বেসিক বা কুইকব্যাসিক, ১৩০ টি অক্ষর

SCREEN 1:RANDOMIZE:N=10:DIM X(100),Y(100):FOR I=1 TO N:X(I)=RND*320:Y(I)=RND*200:FOR J=1 TO I:LINE(X(I),Y(I))-(X(J),Y(J)):NEXT J,I

কোডের বিভিন্নতা

  • আপনি যদি বীজের জন্য অনুরোধ না করতে চান তবে এর RANDOMIZEসাথে প্রতিস্থাপন করুন RANDOMIZE TIMER
  • আপনি যদি এন এর জন্য প্রম্পট হতে চান তবে এর N=10সাথে INPUT Nবা এর সাথে প্রতিস্থাপন করুন INPUT "N";N

নমুনা রান

জন্য N=5, ডসবক্স 0.74 এ চলছে কিউ বেসিক 1.1 দিয়ে পরীক্ষা করা:

জন্য N=100, ডসবক্স 0.74 এ চলছে কিউ বেসিক 1.1 দিয়ে পরীক্ষা করা:


ওহ, বাহ, এন = 5 এর জন্য দুর্দান্ত চিত্র! পছন্দ করুন যে বীজ 42 বছর বয়সে এটি একটি পেন্টাগ্রাম।
আলেকজান্ডার ক্রেগস

4

বাশ + চিত্রম্যাগিক: 148 টি অক্ষর

c=()
while((i++<$1)); do
p=$[RANDOM%200],$[RANDOM%200]
c+=($p)
for e in ${c[@]};do
d+="line $p $e"
done
done
convert -size 200x200 xc: -draw "$d" x:

নমুনা রান:

bash-4.3$ time ./line.sh 5

real    0m5.256s
user    0m0.137s
sys     0m0.017s

নমুনা আউটপুট:

5 সংযুক্ত পয়েন্ট

নমুনা রান:

bash-4.3$ time ./line.sh 25

real    0m3.043s
user    0m0.574s
sys     0m0.023s

নমুনা আউটপুট:

25 সংযুক্ত পয়েন্ট

নমুনা রান:

bash-4.3$ time ./line.sh 100

real    0m5.662s
user    0m11.156s
sys     0m0.076s

নমুনা আউটপুট:

100 সংযুক্ত পয়েন্ট


পরীক্ষিত এবং নিশ্চিত। ভালই করেছেন মনট্যাক!
আলেকজান্ডার ক্রেগস

আমি খুব দুঃখিত, আমি লিডার বোর্ডগুলিতে এটি যুক্ত করতে সম্পূর্ণ ভুলে গেছি? আমি এখন এটি করব।
আলেকজান্ডার ক্রেগস

4

টিসিএল 161 অক্ষর

স্পষ্টতই জয়লাভ করতে যাচ্ছে না, তবে এখানে উপস্থাপিত বেশ কয়েকজনকে মারধর করেছে এবং আমি মনে করি এটি একটি উচ্চমূল্যহীন ভাষার ভাল ব্যবহার করে।

for {set i 0} {$i<10} {incr i} {lappend l [expr rand()*291] [expr rand()*204]}
pack [canvas .c]
foreach {x y} $l {foreach {w z} $l {.c create line $x $y $w $z}}

উদাহরণ

আমার সিস্টেমে ডিফল্ট ক্যানভাস আকারটি 291x204 বলে মনে হচ্ছে। নিশ্চিত নয় কেন, তবে এটি ব্যবহার করে 13 টি অক্ষর সাশ্রয় হয়।

মোটামুটি দ্রুত, <5 সেকেন্ডে 400 পয়েন্ট, 10 ডলারে 500। আকার এবং পয়েন্টগুলি নির্বিচারে আকারে পরিমাপ করা যায় এবং অবশ্যই অবশ্যই অক্ষরের ব্যয়ে রঙ এবং লাইন শৈলীর পরিবর্তন করা যেতে পারে। এটি পরিষ্কার এবং স্কেল এবং রঙে আরও সহজ করে তুলতে অ-গল্ফযুক্ত এবং ভেরিয়েবলগুলি ব্যবহার করে:

set n 20
set width 500
set height 500
set bg_color black
set line_color white
for {set i 0} {$i < $n} {incr i} {
        lappend points [expr rand() * $width] [expr rand() * $height]
}
canvas .c -width $width -height $height -background $bg_color 
pack .c
foreach {x1 y1} $points {
        foreach {x2 y2} $points {
                .c create line $x1 $y1 $x2 $y2 -fill $line_color
        }
}       

1
চিত্রটি ঠিক আছে বলে মনে হচ্ছে, দুর্ভাগ্যক্রমে আমার কম্পিউটারটি কাজ করছে না তাই আমি এটি পরে পরীক্ষা করব। অভিনন্দন এই জাতীয় একটি অপরিবর্তিত ভাষা ব্যবহার করার জন্য।
আলেকজান্ডার ক্রেগস

কেবল এটি নিশ্চিত করেছেন, সফল প্রবেশের জন্য অভিনন্দন!
আলেকজান্ডার ক্রেগস



4

[টিআই-এনস্পায়ার] লুয়া - 145 135 130

(আপডেট সংস্করণ)

এন = 10 সহ স্ক্রিনশট

"R" হিসাবে "গণিত.আরন্ডম" আমদানি করা হচ্ছে প্রথমে অনুমোদিত হিসাবে: r=math.random

আসল কোড:

function on.paint(g)t={}for b=1,2*n-1,2 do t[b]=r(318)t[b+1]=r(212)for c=1,b-1,2 do g:drawLine(t[b],t[b+1],t[c],t[c+1])end end end

দ্রষ্টব্য: এই কোড টিআই-এনস্পায়ার ক্যালকুলেটরগুলিতে কাজ করে (টিআই এই প্ল্যাটফর্মের সাম্প্রতিক ওএসগুলিতে লুয়া স্ক্রিপ্টিং যুক্ত করেছে, এমনকি একটি সম-ভিত্তিক এপিআই ব্যবহারকারীদের উদাহরণস্বরূপ গ্রাফ স্টাফ ইত্যাদির অনুমতি দেয়।)
এটি অনলাইনেও চেষ্টা করা যেতে পারে (কেবল মুছুন ডেমো স্ক্রিপ্ট এবং n=10উদাহরণস্বরূপ আমার প্রিপেন্ড করুন )


আমার জন্য লুয়া শেখার সময়!
বিটা ক্ষয়

1
এই একই ভুল হিসাবে দ্বারা ক্ষতিগ্রস্ত বলে মনে হয় fuandon এর মুছে যাওয়া PowerShell উত্তর এবং Vlo 'মুছে ফেলা র আর উত্তর: আপনি সব অন্যান্য বিন্দু নয় যে ডট জোড়ায় বিন্দু সংযোগ। (এই সাইটে লুয়া খুব বিরল Please দয়া করে আপনার কোডটি মোছার পরিবর্তে এটি ঠিক করুন))
মানটওয়ার্ক

ওহ, আমার খারাপ - আমি তাড়াতাড়ি ঠিক করব!
অ্যাড্রিউব

সেখানে আমরা যাচ্ছি, আমাকে জানানোর জন্য ধন্যবাদ :)
অ্যাড্রিউব

এটি পরীক্ষা করে নিশ্চিত হয়ে গেছে! লুয়া ব্যবহার করে ভাল হয়েছে।
আলেকজান্ডার ক্রেগস

3

সি # উইন্ডোজ ফর্ম, 268

static void k(int n,int s){var f=new Form{Height=s+50,Width=s+25};f.Paint+=(u,v)=>{var r=new Random();var p=new Point[n];while(n>0)p[--n]=new Point(r.Next(s),r.Next(s));foreach(var a in p)foreach(var b in p)f.CreateGraphics().DrawLine(Pens.Tan,a,b);};f.ShowDialog();}

এন = 5

প্লট 5 পয়েন্ট ব্যবহার করে

এন = 50

এন = 50 ব্যবহার করে প্লট করুন

পুরো কোডটি নীচে দেওয়া হল

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    static class Program
    {
        static void Main()
        {
            k(50, 200);
        }
        static void k(int n, int s)
        {
            var f = new Form {Height = s + 50, Width = s + 25};
            f.Paint += (u, v) =>
            {
                var r = new Random();
                var p = new Point[n];
                while (n > 0)
                    p[--n] = new Point(r.Next(s), r.Next(s));
                foreach (var a in p)
                    foreach (var b in p)
                        f.CreateGraphics().DrawLine(Pens.Tan, a, b);
            };
            f.ShowDialog();
        }
    }
}

পরীক্ষিত এবং নিশ্চিত! আমি যখন চরিত্রের গণনাটি পরীক্ষা করেছিলাম তখন আমি পুরো কোডটি ব্যবহার করি এবং যখন এটি <700 অক্ষর ...> এ আসে তখন অবাক হয়ে যাই < যাইহোক, সফল প্রবেশের জন্য অভিনন্দন!
আলেকজান্ডার ক্র্যাগস

Pens.Tanপরিবর্তে কিছু শর্টকাট নেই new Pen(Color.Tan)?
CompuChip

একটি অতিরিক্ত 10
জেড কোডার

2

এইচটিএমএল / জেএস, 210, মানবিক কাজের জন্য ধন্যবাদ

<canvas id=q /><script>c=q.getContext("2d");r=Math.random;e=prompt(a=[]);for(i=0;i<e;i++){a[i]={x:r()*300,y:r()*150};for(j in a)c.beginPath()+c.moveTo(a[i].x,a[i].y)+c.lineTo(a[j].x,a[j].y)+c.stroke()}</script>

JSFiddle


এটি যাচাই করা হয়েছে, আমি এটি কাজ করতে পেরেছি!
আলেকজান্ডার ক্রেগস

আপনি 5 বাইট সংরক্ষণ করার ~~পরিবর্তে ব্যবহার করতে পারেনm.floor
উইলিয়াম বার্বোসা

করুন canvasট্যাগ নিজে-বন্ধ এবং প্রায় একক উদ্ধৃতি অপসারণ idমান: <canvas id=q />। (নোট করুন যে আপনাকে সর্বশেষ বৈশিষ্ট্যটির মান এবং স্ব-সমাপ্তির মধ্যে একটি জায়গা রেখে দিতে হবে /)) ফায়ারফক্সে বিটিডাব্লু m.floor()এবং ছাড়াই সূক্ষ্মভাবে কাজ করে ~~
manatwork

219 টি অক্ষর: jsfiddle.net/e866azzs/5
manatwork

আমি প্রথমবার ম্যানটওয়ার্কের জিসফিল চেষ্টা করেছিলাম, আমি ভেবেছিলাম সতর্কতা বাক্সটির একটি পাসওয়ার্ড দরকার! আমি হতবাক হয়ে গেলাম। একজন মানুষ কতটা বোকা হতে পারে। আমি বিশ্বাস করি যে এটি লিডার বোর্ডে অন্য জায়গার জন্য ওয়ারেন্ট দেওয়ার জন্য অন্য ব্যক্তির জবাবের পক্ষে যথেষ্ট আলাদা। অন্যান্য লোকেরা কি এটি যথেষ্ট আলাদা বলে মনে করেন?
আলেকজান্ডার ক্রেগস

2

সি # ডাব্লুপিএফ 306 296

partial class W:Window{public W(){InitializeComponent();int x=5,i=0,j,z=200;int[]f=new int[x],s=new int[x];var r=new Random();var X=new Grid();AddChild(X);for(;i<x;i++){f[i]=r.Next(z);s[i]=r.Next(z);for(j=i;j>=0;)X.Children.Add(newLine(){X1=s[j],Y1=f[j--],X2=s[i],Y2=f[i],Stroke=Brushes.Red});}}}

আমি বলতে চাই যে আমি স্ট্রোক = ব্রাশড রেড মুছে ফেলতে পারি। তবে দুঃখের সাথে এর অর্থ এই যে আমি স্বচ্ছ লাইনগুলি আঁকছি, এবং আমার ধারণা এটি সত্যই গণনা করা যায় না। : পিআই এক্সএএমএল ভিউতে কেবল একটি গ্রিড তৈরি করে কয়েকটি বাইট শেভ করতে পারে। তবে এটি অন্যায্য বলে মনে হয়েছিল, তাই আমি এক্সএএমএল কে ফাঁকা করে একটি ফাঁকা ক্যানভাসে পরিণত হয়েছিল। (আমি এক্সএএমএলকে বাইট হিসাবে গণনা করি না ...)

partial class W:Window
{
    public W()
    {
        InitializeComponent();
        int x=5,i=0,j,z=200;
        int[]f=new int[x],s=new int[x];
        var r = new Random();
        var X = new Grid();
        AddChild(X);
        for (;i<x;i++)
        {
            f[i]=r.Next(z);
            s[i]=r.Next(z);
            for (j=i;j>=0;)
                X.Children.Add(new Line()
                {
                    X1 = s[j],
                    Y1 = f[j--],
                    X2 = s[i],
                    Y2 = f[i],
                    Stroke = Brushes.Red
                });
        }
    }
}

XAML

<Window x:Class="W"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
</Window>

5

5

100

100


4
এটি ডাব্লুপিএফ হওয়ায় এটি মেমরি ব্যতীত প্রায় 3 কে পয়েন্টে ক্রাশ হবে।
ওয়াজেজেসি

পরীক্ষিত এবং নিশ্চিত হয়েছে, সি # ডাব্লুপিএফ-তে এটি করাতে ভাল হয়েছে!
আলেকজান্ডার ক্র্যাগস 22-15

2
varভেরিয়েবল ঘোষণা করার সময় ব্যবহার করে কিছুটা ছোট করা যায় Could
মার্সিনজুরাজেক

হ্যাঁ, সত্যিই। ধন্যবাদ! আমি "এটি" থেকে "এটি" মুছে ফেলতে সক্ষম হয়েছি d
ওয়াজেজেসি

1

HPPPL, 231 220

(এইচপি প্রাইম রঙের গ্রাফিং ক্যালকুলেটরটির জন্য এইচপি প্রাইম প্রোগ্রামিং ভাষা)

এটি নিচে গল্ফ প্রতিটি নতুন পয়েন্ট তৈরির পরে সমস্ত সম্ভাব্য নতুন লাইন অঙ্কন করে 11 টি কম অক্ষর। পূর্বের তিনটির পরিবর্তে কেবল দুটি নেস্ট লুপ।

export c(n) begin rect();local g,h;a:=makemat(0,n,2);for g from 1 to n do a(g,1):=ip(random(1,320));a(g,2):=ip(random(1,240));if g>1 then for h from 1 to g-1 do line_p(a(h,1),a(h,2),a(g,1),a(g,2));end;end;end;freeze;end;

অবহেলিত (২0০ টি চর):

export randomnet(n)
begin
rect();
local g,h;
a:=makemat(0,n,2);
for g from 1 to n do
  a(g,1):=ip(random(1,320));
  a(g,2):=ip(random(1,240));
    if g>1 then
      for h from 1 to g-1 do
        line_p(a(h,1),a(h,2),a(g,1),a(g,2));
      end;
    end;
end;
freeze;
end;

উদাহরণ:

গ (10)

connect_10_points_HPPPL

connect_10_points_HPPPL_2

গ (30)

connect_30_points_HPPPL

এইচপি প্রাইম কালার গ্রাফিং ক্যালকুলেটরটিতে 320x240 পিক্সেল রঙের ডিসপ্লে রয়েছে।

এখানে চিত্র বর্ণনা লিখুন

: একটি এমুলেটর যে সংযোগ কিট সঙ্গে কাজ করে এইচপি ওয়েবসাইট বা এখানে পাওয়া যাবে http://www.hp-prime.de/en/category/6-downloads

... এখনও হার্ডওয়্যার আসার অপেক্ষায়। কার্যকর করার সময় আপডেট অনুসরণ করবে Update

আজ আমার এইচপি প্রাইম এসেছেন। প্রকৃত ক্যালকুলেটরে এন = 100 এর কার্যকর করার সময় এখানে:

গড় কার্যকর সময়

এন = 100 এর জন্য 0.65 এর কাছাকাছি।

এমুলেটরটি আমার কোর আই 5 2410 এম ল্যাপটপে প্রায় 4 গুন দ্রুত (প্রায় 0.178 এস)।


1
ঠিক আছে, আমি এমনকি সেই প্রোগ্রামিং ভাষাটি কখনও শুনিনি, তবে এটি এমুলেটরটিতে কাজ করেছে তাই অভিনন্দন! আমি আপনাকে লিডারবোর্ডে যুক্ত করেছি।
আলেকজান্ডার ক্রেগস

ধন্যবাদ। আমার কাছে হার্ডওয়্যারটি হওয়ার সাথে সাথে আমি কার্যকর করার সময়টি যাচাই করব। এমুলেটরটি প্রকৃত ক্যালকুলেটরের চেয়ে দ্রুত। তবে আমি মনে করি এন = 100 এর জন্য 5 মিনিটের সীমাটি ক্যালকুলেটারের জন্য খুব উদার।
এমএল

1

নেটলোগো, 51 বাইট

crt 9 [create-links-with other turtles fd random 9]

প্রয়োজন অনুসারে 9 টি প্রতিস্থাপন করুন বা অন্যান্য পরিবর্তনকগুলির সাথে প্রতিস্থাপন করুন।

নেটলোগো আউটপুট


1
লিডারবোর্ডে যুক্ত! ভীত আমি কীভাবে এটি পরীক্ষা করব তা পুরোপুরি নিশ্চিত নই। আমি নেটলোগো ডাউনলোড করেছি এবং এটি পর্যবেক্ষক বিভাগে টাইপ করেছি, তারপরে এটি একটি প্লটে কলম কমান্ড হিসাবে সেট করার চেষ্টা করেছি, উভয়ই কাজ করতে দেখিনি। আপনি যদি আমাকে কিছু পয়েন্টার দিতে পারেন তবে আমি এটি নিশ্চিত করতে সক্ষম হব =)
আলেকজান্ডার ক্রেগস

F'rinstance: 'কোড' ট্যাবে যান এবং সেই ফাংশনটিতে সেই লাইনটি জড়ান যা "যেতে" শুরু হয় এবং "শেষ" দিয়ে থামে। তারপরে আপনি প্রথমে একটি বোতাম যুক্ত করতে পারেন যা "যান" এবং এটিতে আঘাত করে।
wyldstallyns

1
নিশ্চিত হয়েছে! সুন্দর সমাধান। এটি খুব দুর্দান্ত যে আপনি যদি জানেন যে কচ্ছপ কী তা আপনি ইংরেজির মতো কোডটি পড়তে পারেন। প্রায় অবশ্যই সবচেয়ে পঠনযোগ্য সমাধান।
আলেকজান্ডার ক্রেগস

ঝরঝরে! ধন্যবাদ! নেটলোগো সমাধানের দিকে এগিয়ে যাওয়ার মতো আমি এই জাতীয় প্রশ্নের সন্ধান করছি। হাস্যকরভাবে, নেটলাগোকে সত্যিকারের গল্ফ প্রতিযোগী করার চেষ্টা করার জন্য সেই দুর্দান্ত ভারবোসিটি মুছে ফেলার জন্য আমি একটি পাইথ-ইশ সামনের প্রান্তটিও তৈরি করছি।
wyldstallyns

1
হ্যাঁ, আমি বুঝতে পেরেছিলাম যে এটি এখনও একটি দুর্দান্ত উত্তর! আপনার পাইথ নেটলোগো কোডটি দেখার জন্য অপেক্ষা করতে পারবেন না, আশা করি এটি দেখার মতো হওয়া উচিত!
আলেকজান্ডার ক্রেগস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.