আগ্রহের মানুষ


28

পটভূমি

পার্সন অফ ইন্টারেস্ট সিবিএসের একটি ক্রাইম ড্রামা এবং দেরিতে আমার প্রিয় টিভি শো।

শোটি হ্যারল্ড ফিঞ্চ নামের এক ব্যক্তি, একজন বিলিয়নেয়ার প্রোগ্রামার এবং তার অংশীদার জন রেস, বিশেষ বাহিনীর প্রবীণ এবং সিআইএর প্রাক্তন কর্মী is এই প্রোগ্রামারটি "দ্য মেশিন" নামে একটি আবেগযুক্ত এআই তৈরি করেছে যা হিংস্র অপরাধ হওয়ার আগে তার পূর্বাভাস দেয়। এটি বিশ্বের সমস্ত নজরদারি ক্যামেরা এবং বৈদ্যুতিন যোগাযোগ পর্যবেক্ষণ এবং বিশ্লেষণ করে পৃথিবীর প্রতিটি মানুষকে সর্বদা ট্র্যাক করে।

হ্যারল্ড মার্কিন যুক্তরাষ্ট্রের সরকারকে সন্ত্রাসবাদী তৎপরতা সনাক্ত করার জন্য মেশিনটি তৈরি করেছিল built এটি জাতীয় সুরক্ষার সাথে প্রাসঙ্গিক কিনা তা নির্ভর করে তালিকার মধ্যে যে অপরাধগুলির পূর্বাভাস দিয়েছে তা ভাগ করে দেয়। সম্পর্কিত মামলাগুলি সরকার পরিচালনা করে, যখন "অপ্রাসঙ্গিক" তালিকাটি প্রতিদিন মুছে ফেলার জন্য প্রোগ্রাম করা হয়।

হ্যারল্ড "অপ্রাসঙ্গিক" তালিকাটি নিজেই মোকাবেলা করার আশায় নিজের জন্য একটি ছোট্ট দরজা তৈরি করেছিলেন। এই পিছনের অংশটি মেশিনকে পেইফোনে নিকটতম হ্যারল্ডকে (কল করে প্রতিদিন) বা তার কাছে একটি সামাজিক সুরক্ষা নম্বর পড়ার কারণ দেয়। এই এসএসএন এমন ব্যক্তির অন্তর্ভুক্ত যার প্রিমিডেটেড অপরাধের অংশ হিসাবে জীবন বিপদে পড়েছে বা এমন কোনও অপরাধের পরিকল্পনা করছে এমন ব্যক্তির সাথে।


চ্যালেঞ্জ

এমন কোনও প্রোগ্রাম লিখুন যা কোনও ইনপুট নেয় না এবং ৩০ টি এলোমেলো ফোন নম্বর ও এসএসএন (নীচে দেখুন) আউটপুট করে।


আউটপুট

পাঠ্যের দুটি লাইন রয়েছে যা প্রতি "দিন" মুদ্রিত হবে।

  1. Crime predicted: 555-55-5555
  2. Calling: 1-555-555-5555 একটি নতুন লাইন পরে

এই প্রক্রিয়াটি এক "মাস" (30 "দিন") এর জন্য পুনরাবৃত্তি করা উচিত।


ফোন নাম্বারগুলো

প্রতিটি ফোন নম্বরটিতে নিম্নলিখিত উপাদান থাকতে হবে:

  • মার্কিন যুক্তরাষ্ট্রের দেশের কোড থাকতে হবে (প্রথম সংখ্যা)।

  • একটি এলোমেলো অঞ্চল কোড থাকতে হবে (তিন অঙ্কের প্রথম সেট)।

  • ফোন নম্বরটির প্রথম তিনটি সংখ্যা নিজেই হওয়া উচিত555 , তারপরে 4 টি এলোমেলো সংখ্যা অনুসরণ করা উচিত

এখানে একটি টীকাযুক্ত উদাহরণ:

1-814-555-3857
|  |   |   |
|  |   |   |
|  |   |   +---------->   random four digits
|  |   |
|  |   +-------------->   the set 555
|  |
|  +------------------>   area code
|
+--------------------->   country code

সামাজিক সুরক্ষা নম্বর

প্রতিটি এসএসএন অবশ্যই নিম্নলিখিত ফর্ম্যাটে 9 টি এলোমেলো অঙ্কের হতে হবে।

342-98-1613

উদাহরণ

Crime predicted: 234-72-8311
Calling: 1-633-555-0188

Crime predicted: 135-77-0910
Calling: 1-202-555-4719

Crime predicted: 722-90-6653
Calling: 1-466-555-1069

...

আরও 27 টি চক্রের জন্য অবিরত।


স্কোরবোর্ড

আপনার স্কোর বোর্ডে উপস্থিত হওয়ার জন্য, এটি এই ফর্ম্যাটে হওয়া উচিত:

# Language, Bytes

স্ট্রাইকথ্রুগুলি কোনও সমস্যার কারণ হবে না।


3
এছাড়াও, মার্কিন দেশের কোড / অঞ্চল কোডের জন্য বৈধ মানগুলি কী কী?
mınxomaτ

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

1
@LuisMendo একটা হল মেটা উপর ঐক্যমত্য কি র্যান্ডম মানে সম্পর্কে যদি সম্পূর্ণরূপে সংজ্ঞায়িত করা
FryAmTheEggman

5
অবশ্যই শোতে মেশিন দ্বারা প্রেরণ করা ফর্ম্যাটে সংখ্যাগুলি তৈরি করা আরও জটিল হবে ...;)
ম্যাসন হুইলারের

1
কে ডাকবে? @ ডিটিআই-ম্যাট
জ্যাচ গেটস

উত্তর:


10

সিজেম, 68 66 64 বাইট

2 বাইট সংরক্ষণের জন্য ডেনিসকে ধন্যবাদ!

"Crime predicted: --
Calling: 1--555-

"30*{_5<{iAa*:mr}&}/

কপিপাস্টিং কাজ করবে না যেহেতু কয়েকটি অ-প্রিন্টেবল রয়েছে (প্রতিটি এলোমেলো গ্রুপের জায়গায় একটি), সুতরাং এখানে একটি xxdডাম্প রয়েছে:

00000000: 2243 7269 6d65 2070 7265 6469 6374 6564  "Crime predicted
00000010: 3a20 032d 022d 040a 4361 6c6c 696e 673a  : .-.-..Calling:
00000020: 2031 2d03 2d35 3535 2d04 0a0a 2233 302a   1-.-555-..."30*
00000030: 7b5f 353c 7b69 4161 2a3a 6d72 7d26 7d2f  {_5<{iAa*:mr}&}/

এটির বিপরীতে, এটি একটি ফাইলের মধ্যে পেস্ট করুন এবং লঞ্চ করুন xxd -r in_file > out_file। আপনি এটি অনলাইনেও দেখতে পারেন ।

ব্যাখ্যা

"..."30*     Push the string 30 times
{ ... }/     For each character in the string:
_5<{ ... }&    If the ASCII code is < 5:
iAa*             Push an array of as many 10s as the ASCII code
:mr              For each 10, choose a random 0-9 number

আমি নিজেই এটিকে কখনই ভাবিনি, তবে পাইথের কাছে এটি দুটি বাইট সংক্ষিপ্ত বলে মনে হয় ।
FryAmTheEggman

@ ফ্রাইআম দ্য এজিগম্যান আমার সম্ভবত পাইথটি শিখানো উচিত, এটি প্রায়শই সিজেমের চেয়ে কম orter আপনি চাইলে সেই উত্তরটি পোস্ট করতে পারেন :)
Andrea Biondo

8

পাইথন 2, 129

from random import*
print''.join([c,`randint(0,9)`][c>'w']for c in'Crime predicted: xxx-xx-xxxx\nCalling: 1-xxx-555-xxxx\n\n'*30)

একটি নিষ্পাপ পদ্ধতি। বার্তা নেয়

Crime predicted: xxx-xx-xxxx
Calling: 1-xxx-555-xxxx

এবং এটি 30 বার অনুলিপি করে। তারপরে, অন্যান্য সমস্ত অক্ষরকে একই রেখে প্রতিটিকে xএকটি এলোমেলো অঙ্কের সাথে প্রতিস্থাপন করে randint(0,9)


6

পাইথন 2, 151 বাইট

লর্ডকে (এবং @ ডেনিস) এর জন্য ধন্যবাদ %0nd: ডি

from random import randrange as r
for i in[1]*30:print"Crime predicted: %03d-%02d-%04d\nCalling: 1-%03d-555-%04d\n"%(r(1e3),r(100),r(1e4),r(1e3),r(1e4))

6

পার্ল, 85 বাইটস, ডেনিস এবং গ্রিসকে ধন্যবাদ!

$_="Crime Predicted: NNN-NN-NNNN 
Calling: 1-NNN-555-NNNN 

"x30;s/N/0|rand 10/eg;print

আসল পার্ল, 91 92 বাইট

print"Crime Predicted: NNN-NN-NNNN
Calling: 1-NNN-555-NNNN

"=~s/N/int rand 10/egr for 1..30

1
@ ডেনিস ওহ, আমি এই পোস্টটি পোস্ট করতে চলেছি যতক্ষণ না আমি এই উত্তরটি না দেখি। আমার কাছে $_="..."x30;s/_/0|rand 10/eg;printযা /rপতাকা সংরক্ষণ করে ।
grc

ধন্যবাদ @ ডেনিস এবং @ জিআরসি! মন্তব্যগুলিতে প্রস্তাবিত পরিবর্তনগুলি অবশ্যই অন্তর্ভুক্ত করার রীতি আছে (অবশ্যই এ্যাট্রিবিউশন সহ)? না হলে আমি আমার সম্পাদনাটি ফিরিয়ে দেব। তবে, যে কোনও ক্ষেত্রে, ধন্যবাদ! আমি 0|rand ...কৌতুক এবং পুনরাবৃত্তি অপারেটরটি সম্পর্কে আমি সম্পূর্ণরূপে ভুলে গেছি যে আমি এখন আবার মিস করছি তার অনুপস্থিতির জন্য আমার মাথায় থাপ্পড় মারতে!
টাইপ_আউটকাস্ট

2
হ্যাঁ, এটি প্রথাগত। আপনি যদি ইতিমধ্যে না পেয়ে থাকেন তবে পার্লে গল্ফ করার জন্য আপনার টিপসটি পরীক্ষা করা উচিত? । এটি একটি দুর্দান্ত সম্পদ।
ডেনিস

5

সিজেম, 73 71 70 বাইট

30{"Crime predicted: x-x-x
Calling: 1-x-555-x
"'x/[ZY4Z4]Aaf*::mr.+N}*

সিজেএম ইন্টারপ্রেটারে এটি অনলাইনে চেষ্টা করুন ।

কিভাবে এটা কাজ করে

30{     e# Repeat 30 times:

e# Push the following string:

"Crime predicted: x-x-x
Calling: 1-x-555-x
"

'x/     e# Split at x's.
[ZY4Z4] e# Push the array [3 2 4 3 4].
Aaf*    e# For each integer in that array, repeat [10] that many times.
        e# This pushes [[10 10 10][10 10][10 10 10 10][10 10 10][10 10 10 10]].
::mr    e# For each 10, select a random integer between 0 and 9 (inclusive).
.+      e# Vectorized concatenation.
        e# This places the digits at the spots of the x's.
N       e# Push a linefeed.
}*      e#

5

ß, 121 118 112 বাইট

°/N=1°(30°/M°=ß$-ß$$'Crime predicted: 000-00-0000\nCalling: 1-000-555-0000\n\n'),'',3)µ€(M='0')?ß!G0,9,1):M)°)°)

মূলত প্রতিটি এলোমেলো সংখ্যার সাথে 0 প্রতিস্থাপন করে এবং 30 বার নিজেকে কল করে।

অনলাইন টার্মিনালটি ব্যবহার করে এটি পরীক্ষা করুন :

sharps:~$ "<ctrl+v the code here>"                       
Crime predicted: 214-59-4707                              
Calling: 1-850-555-8529                                   

Crime predicted: 722-97-6832                              
Calling: 1-864-555-6965                                   

<and so on...>

সম্পাদনা (112 বি): (স্প্রিন্টফের $$মতো কিছু) এবং টের্নারি অপারেটর ব্যবহার করে।


আপনি কি এই ভাষার বৈশিষ্টগুলিতে একটি লিঙ্ক সরবরাহ করতে পারেন?
LegionMammal978

@ LegionMammal978 লেখার জন্য কিছুটা সময় নেয়। সাধারণ কথায়: প্রতিটি বৈশিষ্ট্য অটোআইটিতে রয়েছে।
mınxomaτ

4

পাইথ, 66

V30sX"Crime Predicted: v-w-x
Calling: 1-y-555-z
">5GmjkmOTdj32434T

Xবর্ণমালা ( >5G == 'vwxyz') এর শেষ 5 অক্ষর 5 টি এলোমেলো সংখ্যায় অনুবাদ করতে ব্যবহার করে । সকের মতো পাওয়া আরএনজি ব্যবহার করে।

এটি এখানে অনলাইনে চেষ্টা করুন


4

পাইথ, 62

অ্যান্ড্রিয়ার দুর্দান্ত সিজেএম উত্তরের একটি বাস্তবায়ন ।

sm?<Cd5jkmOTCdd*30"Crime Predicted: --
Calling: 1--555-

"

মনে রাখবেন উত্সটিতে বেশ কয়েকটি অপ্রিনিতযোগ্য অক্ষর রয়েছে এবং সেখানে কোনও অনুবর্তন করা উচিত নয় "। এটি এসই এর জন্য যুক্ত করা হয়েছিল যাতে এটি আরও কিছুটা পাঠযোগ্য বলে মনে হয়। আমি এখনও একটি হ্যাক্সডাম্প পেতে সক্ষম হইনি, তবে নীচের লিঙ্কটি কাজ করে এবং আপনার এটির অনুলিপি-আটকানোতে সক্ষম হওয়া উচিত।

এটি এখানে অনলাইনে চেষ্টা করুন


3

সিজেম, 74 বাইট

30{[ZY4Z4]{Aa*:mrs}%"Crime predicted: %s-%s-%s
Calling: 1-%s-555-%s

"e%}*

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

এটি সিজেএম e%অপারেটর ব্যবহার করে , যা একটি প্রিন্টফ স্টাইল বিন্যাসের স্ট্রিং সহ আউটপুট উত্পন্ন করে।

30      Repeat count for whole output.
{       Start loop.
  [ZY4Z4] Build list of random number lengths: [3 2 4 3 4].
  {       Start loop over all random number lengths.
    Aa*     Build list of [10 ... ] with the random number length.
            E.g. for length 3, this will be [10 10 10].
    :mr     Apply the random number operator to the list. This will generate
            a list of random numbers between 0 and 9, with the given length.
    s       Convert it to a string.
  }%      End of loop over random number lengths.
  "..."   Format string, with a %s for each random number.
  e%      Apply printf style formatting.
}*      End of main repeat loop.

ওহ, আমি ভেবেছিলাম আপনি @ ডেভিডকারেরহর সেই অবতারের সাথে!
বিটা ক্ষয়

@ বেটাডেক এই? কোডগল্ফ.স্ট্যাক্কেঞ্জাঞ্জইউজ / ইউজারস / 3967/ ডেভিড- ক্যারাহের । এমনকি একই প্রাণী! :) রঙগুলি প্রায় একই রকম, যদিও।
রেটো কোরাডি

: যদি আমরা আমাদের পন্থা মেশা, আমরা 70 বাইট পেতে পারেন পার্মালিঙ্ক
ডেনিস

@ ডেনিস এটিতে নির্দ্বিধায় যান আপনি অনেক সময় আমাকে সাহায্য করেছেন।
রেটো কোরাডি

@ রিটোকোরাডি যথেষ্ট নিকটবর্তী;)
বিটা


3

জাভাস্ক্রিপ্ট (ES6), 142

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

অনুপস্থিত পাঠ্যটি সম্পাদনা করুন (আমি চ্যালেঞ্জটি ভুলভাবে পড়েছি)

নীচে স্নিপেট চলমান পরীক্ষা করুন একমাস্ক্রিপ্ট l অনুবর্তী ব্রাউজারে

/* TEST redirect console.log */ console.log=x=>O.innerHTML+=x+'\n'

for(i=30;i--;)console.log(`Crime predicted: ${(R=d=>(1e-9+Math.random()+'').substr(2,d))(3)}-${R(2)}-${R(4)}
Calling: 1-${R(3)}-555-${R(4)}
`)
<pre id=O></pre>


খুব সুন্দর সমাধান! তবে ফোন নম্বরটির শেষ অংশটি মাঝে মাঝে 4 টিরও কম সংখ্যক থাকে; এসএসএন এর দ্বিতীয় এবং তৃতীয় অংশের সাথে একই।
ETH প্রোডাকশনস

@ ইথ প্রডাকশন ইঁদুর! পূর্ববর্তী সংস্করণে ফিরছে!
edc65

3

ফুরিয়ার, 166 142 বাইট

45~d030(~i67a114a-9a+4a-8a32a112a^^a101ava+5a-6a116a101ava58a32a999roda99roda9999ro10a67a97a108aa-3a+5a-7a58a32a1oda999roda5oooda9999ro10aai^)

এটির মধ্যে একটি সর্বোচ্চ বাইট গণনা রয়েছে তবে আমি ফুরিয়ারের একটি বিশাল অনুরাগী এবং একটি সমাধানে আমার হাত চেষ্টা করতে চেয়েছিলাম। খুব আশাবাদী নয়।

এটি ভেঙে দেওয়া:

45~d

ভেরিয়েবল ডি থেকে 45 এ সেট করে, হাইফেনের জন্য ASCII কোড। এই চরিত্রটি এত বেশি মুদ্রিত হয়েছে যে এটি এখানে ঘোষণার জন্য কিছু বাইট সংরক্ষণ করে।

030(...)

সংগ্রহকারীকে শূন্যে সেট করে এবং 30 টি না হওয়া পর্যন্ত প্রথম বন্ধনীগুলির ভিতরে লুপ করে।

67a114a-9a+4a-8a32a112a^^a101ava+5a-6a116a101ava58a32a

"অপরাধের পূর্বাভাস:" মুদ্রণ করুন।

999roda99roda9999ro10a

সম্পূর্ণ র্যান্ডম এসএসএন + নিউলাইন মুদ্রণ করুন।

67a97a108aa-3a+5a-7a58a32a

"কলিং:" মুদ্রণ করুন।

1oda999roda5oooda9999ro

নির্দেশিকা অনুসরণ করে এমন একটি ফোন নম্বর মুদ্রণ করুন: 1-xxx-555-xxxx

10aa

আবার শুরু করতে দুটি নতুন লাইন মুদ্রণ করুন।


1
আরে, আপনি আগ্রহী হতে পারেন যে এখন fourier.tryitonline.net এ একটি অনলাইন দোভাষী আছে (এবং এছাড়াও labs.turbo.run/beta/fourier )
বিটা

2

পাইথ, 67 বাইট

V30s.ic"Crime predicted: |-|-|
Calling: 1-|-555-|
"\|mjkmOTdj32434T

নতুন লাইনগুলি গুরুত্বপূর্ণ, এবং বাইট গণনায় অন্তর্ভুক্ত। এখানে চেষ্টা করে দেখুন ।

                                Implicit: T=10, k=''
       "..."                    The output string
      c     \|                  Split on '|' placeholders
                     j32434T    32434 to base ten -> [3,2,4,3,4]
              m                 Map for d in the above:
                 mOTd             Generate d random numbers from 0-9
               jk                 Concatenate into string (join on empty string)
    .i                          Interleave segments of output string with random strings
   s                            Concatenate and output
V30                             Perform the above 30 times

2

হাস্কেল, 150 বাইট

import System.Random
p '#'=putChar=<<randomRIO('0','9')
p x=putChar x
main=mapM p$[1..30]>>"Crime predicted: ###-##-####\nCalling: 1-###-555-####\n\n"

2

জাভাস্ক্রিপ্ট (ES6), 130 123 বাইট

Minxomat এর সমাধানটি আরও এক ধাপ এগিয়ে নিয়েছি, আমি প্রতিস্থাপন করেছি 0 সংখ্যার সাথে0Math.random()প্রক্রিয়াটিতে বাইটের একটি ভাল বিট সংরক্ষণ করে কোডটি অঙ্কের সঠিক সংখ্যাটি টানতে ব্যবহার করে numbers

for(i=30;i--;)console.log(`Crime predicted: 3-2-4
Calling: 1-3-555-4
`.replace(/[2-4]/g,x=>`${Math.random()}`.substr(2,x)))

চেষ্টা কর:

// redirecting console.log() for this demonstration
console.log=x=>O.innerHTML+=x+'\n';
O.innerHTML='';

for(i=30;i--;)console.log(`Crime predicted: 3-2-4
Calling: 1-3-555-4
`.replace(/[2-4]/g,x=>`${Math.random()}`.substr(2,x)))
<pre id=O>

সর্বদা হিসাবে, পরামর্শ স্বাগত!


2

জাভা, 246 বাইট

import java.util.*;class C{static{Random r=new Random();for(int i=0;i++<30;)System.out.printf("Crime predicted: %s-%s-%s\nCalling: 1-%s-555-%s\n\n",r.nextInt(900)+100,r.nextInt(90)+10,r.nextInt(900)+100,r.nextInt(900)+100,r.nextInt(9000)+1000);}}

লাইন বিরতি সহ:

import java.util.*;
class C{
    static{
       Random r = new Random();
       for(int i = 0; i++<30;)
           System.out.printf("Crime predicted: %s-%s-%s\nCalling: 1-%s-555-%s\n\n",r.nextInt(900)+100,r.nextInt(90)+10,r.nextInt(900)+100,r.nextInt(900)+100,r.nextInt(9000)+1000);
    }
}

এটি একটি শুরু। এলোমেলো অঙ্ক তৈরির পরিবর্তে আমি এলোমেলো 3-অঙ্ক বা 4-সংখ্যার নম্বর ব্যবহার করেছি।


2

আর, 151 146 বা 144 বাইট

কোড

for(l in 1:30)cat(sep="","Crime predicted: ",(i=floor(runif(16,,10)))[1:3],"-",i[4:5],"-",i[6:9],"\nCalling: 1-",i[10:12],"-555-",i[13:16],"\n\n")

এটা পরীক্ষা করো অনলাইনে পরীক্ষা করুন

Ungolfed

for(l in 1:30) {
  i=floor(runif(16,,10))
  cat(sep="","Crime predicted: ",
      i[1:3],"-",i[4:5],"-",i[6:9],
      "\nCalling: 1-",i[10:12],"-555-",
      i[13:16],"\n\n")
  }

আমি মনে করি উন্নতির জন্য অনেকগুলি জায়গা রয়েছে তবে আমি আর-তে স্ট্রিং নিয়ে ভাল কোনও গণ্ডগোল করছি না

সম্পাদনা 1: এতে পরিবর্তন runif(16,max=10)হয়েছেrunif(16,,10)

আমি আরও একটি কোড দিয়েছি ( 147 144 বাইট) sprintfতবে আমি এটি আর-এর মতো কোড বলে মনে করি না।

for(l in 1:30)cat(do.call(sprintf,as.list(c('Crime predicted: %s%s%s-%s%s-%s%s%s%s\nCalling: 1-%s%s%s-555-%s%s%s%s\n\n',floor(runif(16,,10))))))

আরেকটি পদ্ধতির (149 বাইট):

for(p in 1:30)cat(sep="",replace(s<-strsplit("Crime predicted: '''-''-''''\nCalling: 1-'''-555-''''\n\n","")[[1]],which(s<"-"),floor(runif(16,,10))))



2

সি #, 280 263 246 বাইট

Golfed:

using System;class C{static string G(){var r=new Random();var s="";n h=x=>r.Next(x).ToString("D"+x);for(int i=0;i++<30;){s+="Crime predicted: "+h(3)+"-"+h(2)+"-"+h(4)+"\nCalling: 1-"+h(3)+"-555-"+h(4)+"\n\n";}return s;}delegate string n(int x);}

ইন্ডেন্টযুক্ত:

using System;
class C
{
    static string G()
    {
        Random r = new Random();
        string s = "";
        Func<int, string> f = x => r.Next((int)Math.Pow(10, x)).ToString("D" + x);            

        for (int i = 0; i++ < 30;)
        {
            s += "Crime predicted: " + f(3) + "-" + f(2) + "-" + f(4) + "\nCalling: 1-" + f(3) + "-555-" + f(4) + "\n\n";
        }
        return s;
    }
}

কোডগল্ফে নতুন, টিপস স্বাগত!


প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম! আমি সি # গলাগলি পরিচিত না, কিন্তু যেহেতু এটি .NET নেভিগেশন predicated মত PowerShell হয়, আমার মনে হয় h(999)থেকে একটি নম্বরে উত্পন্ন করবে 000করার 998তাই সমেত, তার মানে এই নয় বেশ বিবরণীর আত্মা আঘাত। আমি একই ইস্যু মধ্যে দৌড়ে ।
অ্যাডমবর্কবার্ক

আপনি ঠিক বলেছেন, আমি এখনই এটি ঠিক করব!
এন্থনিটিমাররা

ফিক্সের পরে 280 বাইট পর্যন্ত গিয়েছিল, তারপরে ডেলিগেট হ্যান্ডলারের মধ্যে ফর্ম্যাটিংটি করার কথা চিন্তা করে এটি আবার 263 বাইটে হ্রাস করে।
অ্যান্থনিটিমার্স

1

হাসিয়াম , 230 বাইট

func main(){foreach(x in range(1,31){println("Crime predicted: "+r(3)+"-"+r(2)+"-"+r(4));println("Calling: 1-"+r(3)+"-555-"+r(4)+"\n");}}
func r(l){z=new Random();a="";foreach(y in range(1,l))a+=z.next(0,10).toString();return a;}

সম্প্রসারিত:

func main () {
        foreach (x in range(1, 31) {
                println("Crime predicted: " + r(3) + "-" + r(2) + "-" + r(4));
                println("Calling: 1-" + r(3) + "-555-" + r(4) + "\n");
        }
}
func r (l) {
        z = new Random();
        a = "";
        foreach (y in range(1, l))
                a += z.next(0, 10).toString();
        return a;
}

1

রুবি, 98 টি অক্ষর

30.times{puts"Crime Predicted: DEF-GH-IJKL
Calling: 1-MNO-555-QRST

".tr"D-OQ-T",rand.to_s[2..-1]}

নমুনা রান:

bash-4.3$ ruby -e '30.times{puts"Crime Predicted: DEF-GH-IJKL\nCalling: 1-MNO-555-QRST\n\n".tr"D-OQ-T",rand.to_s[2..-1]}' | head
Crime Predicted: 867-29-2637
Calling: 1-278-555-5424

Crime Predicted: 913-31-6306
Calling: 1-744-555-8188

Crime Predicted: 868-36-4612
Calling: 1-926-555-3576

Crime Predicted: 988-06-1643

1

জাভাস্ক্রিপ্ট, 146 141

console.log(Array(30).join("Crime predicted: 3-2-3\nCalling: 1-3-555-4\n\n").replace(/[2-4]/g,function(m){return(m+Math.random()).substr(3,m)}))

আপনার চেয়ে কম অক্ষর সহ ইতিমধ্যে একই ভাষায় উত্তর রয়েছে।
জাকুজে

@ জাকুজে অন্য উত্তরটি ES6 ব্যবহার করে যা এখনও ব্যাপকভাবে উপলভ্য নয়
পেলেগ

তাহলে এটি সম্ভবত ঠিক আছে। আপনার উত্তরে এটি উল্লেখ করা ভাল হবে।
জাকুজে

1
@ জাকুজে লোকেরা যা খুশি তা জমা দিতে পারে! এটি চ্যালেঞ্জ সম্পর্কে যতটা তা অন্যকে মারধর করার মতোই।
এরিক

1

প্রাক ES6 জাভাস্ক্রিপ্ট, 128

for(i=30;i--;)console.log('Crime predicted: x-x-x\nCalling: x-555-x\n'.replace(/x/g, function(){return 1e3*Math.random()|0}))

আমি মনে করি ড্যাশগুলি কোনওভাবে সরিয়ে দেওয়া যেতে পারে তবে নিশ্চিত নই।


1
বেশ কয়েকটি ত্রুটি: 1) এলোমেলো অংশ সঠিক দৈর্ঘ্যের নয় (এবং এমনকি চেষ্টা করার চেষ্টাও করা হয়নি) 2) "1-" অনুপস্থিত।
edc65


1

জুলিয়া, 120 বাইট

R(n)=lpad(rand(0:10^n-1),n,0)
for i=1:30 println("Crime Predicted: "R(3)"-"R(2)"-"R(4)"\nCalling: 1-"R(3)"-555-"R(4))end

Ungolfed:

# Define a function for returning a random number with a
# specified number of digits
function R(n::Int)
    lpad(rand(0:10^n-1), n, 0)
end

# Print 30 times
for i = 1:30
    println("Crime Predicted: " R(3) "-" R(2) "-" R(4)
            "\nCalling: 1-" R(3) "-555-" R(4))
end

1

রুবি, 90 88 বাইট

30.times{puts"Crime predicted: NNN-NN-NNNN
Calling: 1-NNN-555-NNNN

".gsub(?N){rand 10}}

এটি অনলাইনে চেষ্টা করুন।


1
স্ট্রিং নোটেশনের দরকার নেই, কেবল চরিত্রই ?Nযথেষ্ট। আশেপাশের randপ্যারামিটারের প্রথম বন্ধনের প্রয়োজন নেই ।
manatwork

1

পাওয়ারশেল, 120 108 103 102 বাইট

0..29|%{("Crime predicted: XXX-XX-XXXX`nCalling: 1-XXX-555-XXX"-split"X"|%{$_+(Random 10)})-join'';""}

পরিবর্তে একটি অ্যারেতে আউটপুট দেয় @(..)এবং আবার যোগদান হয় এমন একটি কোড ব্লক হয়ে স্প্লিট-লুপ সেট করে আরও কয়েকটি বাইট সংক্ষিপ্ত করে ।

নির্মূল @যাহাই হউক (...)না -join''কেন আগে নির্বাহ করা একটি কোড ব্লককে মনোনীত করে মনে করে ।

এটি $aভেরিয়েবল বরাদ্দকরণের প্রয়োজনকে দূর করে । এছাড়াও লক্ষ্য করা গেছে যে -splitকার্যকারিতাটি কীভাবে কাজ করে তার কারণে পূর্ববর্তী কোডটি ফোন নম্বরটির জন্য খুব বেশি অঙ্ক ছুঁড়েছিল তাই সংকুচিত হয়ে সেখানে একটি বিনামূল্যে বাইট সংরক্ষণ করতে পেল1-XXX-555-XXX । এটি Random 9যে ভুলভ্রান্তির জন্য তৈরি হয়েছিল যা আসলে এলোমেলোভাবে বাছাই করে 0-8, তাই আমাদের পরিবর্তে নির্দিষ্ট করা দরকারRandom 10.

সুও ডাং দ্বি-অঙ্কের কাছাকাছি, তবে আমি নিশ্চিত নই যে আরও চারটি 3 বাইট বন্ধ করে কোথায় গল্ফ করা সম্ভব ...


পূর্ববর্তী, 108

0..29|%{$a="";"Crime predicted: XXX-XX-XXXX`nCalling: 1-XXX-555-XXXX"-split"x"|%{$a+="$_$(Random 9)"};$a;""}

তার পরিবর্তে স্ট্রিংগুলিতে বিভক্ত হয়ে কোডটি কয়েক দফায় সংক্ষিপ্ত করে Xএরপরে স্ট্রিংগুলির ফলাফলের অ্যারেটি পুনরায় লুপিং করে এবং Randomআমাদের চূড়ান্ত আউটপুট স্ট্রিং তৈরির জন্য প্রতিটি প্রবেশকে একটি ডিজিট দিয়ে সংযুক্ত করে তুলুন $a। মনে রাখবেন যে আমরা এর মতো কিছু করতে পারি নি "string".replace("x",$(Random 9))কারণ তখন Randomকেবল একবার কল হবে, সুতরাং আপনার 1-222-555-2222একটি ফোন নম্বর থাকবে, উদাহরণস্বরূপ।


পূর্ববর্তী-এর, 120

0..29|%{"Crime predicted: "+(Random 1e9).ToString("000-00-0000");"Calling: "+(Random 1e7).ToString("1-000-555-0000");""}

ভার্জোজ ভাষার জন্য প্রিয়াটি ডাং প্রতিযোগিতামূলক, উদার আউটপুট স্পেসিফিকেশনের জন্য ধন্যবাদ (যেমন, 000-00-0001একটি কার্যকর এসএসএন হিসাবে বিবেচিত) এবং .ToString()পাওয়ারশেল যে সত্যিকারের শক্তিশালী ফর্ম্যাটিং অ্যালগরিদম ব্যবহার করে। পাওয়ারশেল \r\nপ্রতিটি স্ট্রিং আউটপুট পরে আউটপুট দেয়, তাই পুনরাবৃত্তির মধ্যে একটি নতুন লাইনের প্রয়োজন কেবল একটি সহজ ""

নোট করুন যে এটি Get-সামনে একটি অন্তর্নিহিত ব্যবহার করে Random, তাই এটি কিছু প্ল্যাটফর্ম / বাস্তবায়নে সত্যিই ধীর হতে পারে ।


0

বেফুঞ্জ -98, 170

আমি মনে করি এটি এখনও কিছুটা কমিয়ে দেওয়া যেতে পারে। তবে কমপক্ষে আমি সি # কে পরাজিত করেছি। Befungius.aurlien.netপরীক্ষিত

a3*>  82*v>":detciderp emirC">:#,_$...'-,..'-,....av
>1 -:!#;_v^;v,,,"-555-"...,,,,,,,,,,,"Calling: 1-",<
\  ^v< <2?1v,
+    ^;^3<;<,
^ <0?3vv....<
^;^6<;<>a,v
   v_@#:-1<

0

পাইথন 2, 151 150 বাইট

from random import*
p="Crime predicted: xxx-xx-xxxx\nCalling: 1-xxx-555-xxxx\n\n"*30
while'x'in p:p=p.replace('x',str(randint(0,9)),1)
print p.strip()

আমি এই পদ্ধতিটি পেতে পারি হিসাবে গল্ফড।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.