관심있는 사람


28

배경

관심있는 사람은 CBS의 범죄 드라마와 내가 가장 좋아하는 TV 쇼입니다.

이 쇼는 억만 장자 프로그래머 인 Harold Finch라는 남자와 특수 부대 베테랑이자 전 CIA 요원 인 그의 파트너 John Reese에 관한 것입니다. 이 프로그래머는 폭력적인 범죄가 발생하기 전에 예측하는 "The Machine"이라는 지각있는 AI를 만들었습니다. 전 세계의 모든 감시 카메라와 전자 통신을 모니터링하고 분석하여 지구상의 모든 사람을 항상 추적합니다.

Harold는 미국 정부가 테러 활동을 사전에 감지 할 수 있도록 The Machine을 구축했습니다. 국가 안보와 관련이 있는지 여부에 따라 예측 한 범죄를 목록으로 나눕니다. 관련 사례는 정부에서 처리하는 반면 "관련없는"목록은 매일 삭제되도록 프로그래밍되어 있습니다.

해롤드는 자신과 관련이없는 "목록"을 다루기 위해 작은 백도어를 만들었습니다. 이 백도어는 The Machine이 Harold에서 가장 가까운 Harold (매일 한 번 정도)에게 전화를 걸어 사회 보장 번호를 읽게합니다. 이 SSN은 사전 범죄의 일부로 생명이 위험에 처한 사람 또는 그러한 범죄를 계획중인 사람의 것입니다.


도전

입력이없는 프로그램을 작성하고 30 개의 임의 전화 번호 및 SSN을 출력합니다 (아래 참조).


산출

"일"마다 인쇄되는 두 줄의 텍스트가 있습니다.

  1. Crime predicted: 555-55-5555
  2. Calling: 1-555-555-5555 개행 문자

이 프로세스는 "달"(30 일) 동안 한 번 반복되어야합니다.


전화 번호

모든 전화 번호에는 다음 요소가 있어야합니다.

  • 미국 국가 코드 (첫 번째 숫자)가 있어야합니다.

  • 임의의 지역 번호가 있어야합니다 (첫 세 자리 숫자 세트).

  • 전화 번호 자체의 처음 세 자리 숫자는 다음에 4 자리의 임의의 숫자 여야합니다555 .

다음은 주석이 달린 예입니다.

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

사회 보장 번호

모든 SSN은 다음 형식의 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입니다. 지역 번호는이 도전의 목적을 위해 세 자리 숫자를 사용합니다. @minxomat
Zach Gates

1
@LuisMendo 완전히 정의되지 않은 경우 임의의 의미에 대한 메타 에 대한 합의 가 있습니다
FryAmTheEggman

5
물론, The Machine이 쇼에서 실제로 전송하는 형식으로 숫자 생성하는 것은 훨씬 더 복잡합니다 ...;)
Mason Wheeler

답변:


10

CJam, 68 66 64 바이트

2 바이트를 절약 해 준 Dennis에게 감사합니다!

"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

나는 이것을 스스로 생각한 적이 없지만 Pyth에서는 2 바이트 짧아 보입니다.
FryAmTheEggman

@FryAmTheEggman 아마 Pyth를 배워야 할 것입니다. 종종 CJam보다 짧습니다. 원한다면 답변을 게시 할 수 있습니다 :)
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 바이트

다음에 대해 주 (및 @Dennis)에게 감사합니다 %0nd. : D

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

Dennis와 grc 덕분에 Perl, 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

@Dennis와 @grc에게 감사합니다! 의견에 제안 된 변경 사항을 포함하는 것이 관례입니까 (물론 귀속)? 그렇지 않으면 편집 내용을 되돌릴 것입니다. 그러나 어쨌든 감사합니다! 나는 그 0|rand ...트릭과 반복 연산자 에 대해 완전히 잊어 버렸습니다. 이제 누락 된 것에 대해 반복적으로 머리를 때립니다!
type_outcast

2
예, 관습입니다. 아직 골프를 타지 않았다면 펄 골프 팁을 확인해야 합니까? . 훌륭한 자료입니다.
Dennis

5

CJam, 73 71 70 바이트

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

CJam 통역사 에서 온라인으로 사용해보십시오 .

작동 원리

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...>

편집 (112B) : 사용 $$(sprintf와 같은 것) 및 삼항 연산자.


이 언어 사양에 대한 링크를 제공 할 수 있습니까?
LegionMammal978

@ LegionMammal978 작성하는 데 시간이 걸립니다. 간단히 말해 : AutoIt의 모든 기능이 있습니다.
mınxomaτ


4

피스, 62

Andrea의 환상적인 CJam 답변 구현 .

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

"

소스에 인쇄 할 수없는 문자가 여러 개 있으며 후행이 없어야합니다 ". 그것은 좀 더 읽기 쉽도록 SE에 추가되었습니다. 나는 아직 16 진수 덤프를 얻을 수 없었지만 아래 링크가 작동하므로 복사하여 붙여 넣을 수 있어야합니다.

여기에서 온라인으로 사용해보십시오


3

CJam, 74 바이트

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

"e%}*

승자는 아니지만 적어도 지금까지 Dennis가 가지고있는 것과 다소 비슷하며 다른 접근법을 사용하고 있습니다. 어쨌든 게시 할 가치가 있다고 생각했습니다.

이것은 printam e%스타일 형식 문자열로 출력을 생성 하는 CJam 연산자를 사용 합니다.

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.

와우, 나는 당신이 그 아바타로 @DavidCarraher라고 생각했습니다!
Beta Decay

@BetaDecay 이거? codegolf.stackexchange.com/users/3967/david-carraher . 같은 동물조차! :) 색상은 거의 동일합니다.
Reto Koradi

우리의 접근 방식을 결합하면 70 바이트를 얻을 수 있습니다. permalink
Dennis

@Dennis 부담없이 가십시오. 당신은 나에게 많은 시간을 도와주었습니다.
Reto Koradi

@RetoKoradi 닫기 닫기;)
베타 부패


3

자바 스크립트 (ES6), 142

ß의 사이드 노트 믹스 매트 답변 이 작업을 수행하는 더 좋은 방법을 보여 주며, 더 나은 점수를주는 JS로 쉽게 구현할 수 있습니다. 나는 그것에 대해 생각했으면 좋겠다.

편집하다 누락 된 텍스트 추가 (도전을 잘못 읽음)

EcmaScript 6 호환 브라우저에서 아래 스 니펫 실행 테스트

/* 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 자리 미만입니다. SSN의 두 번째 및 세 번째 부분과 동일합니다.
ETHproductions

@ETHproductions 쥐! 이전 버전으로 되돌리기!
edc65

3

푸리에, 166142 바이트

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

이것은 가장 높은 바이트 수 중 하나를 가지고 있지만 푸리에의 열렬한 팬이며 솔루션에 손을 대고 싶었습니다. 별로 최적화되지 않았습니다.

세분화 :

45~d

변수 d를 하이픈의 ASCII 코드 인 45로 설정합니다. 이 문자는 너무 많이 인쇄되어 여기에 선언하기 위해 바이트를 절약합니다.

030(...)

누산기를 0으로 설정하고 괄호 안에 30이 될 때까지 반복합니다.

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

"Crime predicted :"를 인쇄하십시오.

999roda99roda9999ro10a

완전히 임의의 SSN + 줄 바꿈을 인쇄하십시오.

67a97a108aa-3a+5a-7a58a32a

"통화 :"를 인쇄하십시오.

1oda999roda5oooda9999ro

지침에 따라 전화 번호를 인쇄하십시오. 1-xxx-555-xxxx

10aa

다시 시작하려면 두 줄 바꿈을 인쇄하십시오.


1
안녕하세요, fourier.tryitonline.net (및 labs.turbo.run/beta/fourier )에 온라인 인터프리터가 있다는 점에 관심이있을 것입니다.
Beta Decay

2

Pyth, 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의 ß 솔루션을 한 단계 더 발전시키면서 s를 거기에 있었던 s 0의 수로 대체 0했습니다. 코드는 해당 숫자를 사용하여에서 올바른 자리수를 빼내고 Math.random()프로세스에서 바이트를 절약합니다.

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

R, 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")

온라인으로 테스트하십시오 .

언 골프

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")
  }

개선해야 할 여지가 많다고 생각하지만 R의 문자열을 엉망으로 만드는 것은 좋지 않습니다.

편집 1 : 변경 runif(16,max=10)runif(16,,10).

나는 다른 코드 ( 147144 바이트)를 사용 sprintf했지만 그것이 R과 비슷한 코드라고 생각하지 않습니다.

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

PHP , 144 143 바이트

<?=preg_replace_callback('/x/',function($x){return chr(rand(48,57));},str_repeat("Crime predicted: xxx-xx-xxxx
Calling: 1-xxx-555-xxxx

",30));


2

C #을, 280 263 246 바이트

골프 :

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;
    }
}

Codegolf의 새로운 기능, 팁을 환영합니다!


프로그래밍 퍼즐 및 코드 골프에 오신 것을 환영합니다! 나는 C #에 친숙하지 않지만 PowerShell과 같이 .NET 에 선언되어 있기 때문에 h(999)숫자 000998포함 하여 숫자를 생성 한다고 생각 하므로 사양의 정신에 크게 맞지 않습니다 . 나는 같은 문제에 부딪쳤다 .
AdmBorkBork

당신 말이 맞아요, 이제 고칠 게요!
anthonytimmers

수정 후 최대 280 바이트로 갔다가 델리게이트 처리기에서 서식을 설정하여 263 바이트로 줄이려고했습니다.
anthonytimmers

1

Hassium , 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)}))

이미 당신보다 적은 문자로 같은 언어로 대답하고 있습니다.
Jakuje

@Jakuje 다른 답변은 아직 널리 보급되지 않은 ES6을 사용합니다
Peleg

그렇다면 아마 괜찮을 것입니다. 당신의 대답에 이것을 언급하는 것이 좋습니다.
Jakuje

1
@Jakuje 사람들은 원하는 것을 제출할 수 있습니다! 그것은 다른 사람들을 때리는 것만큼이나 도전에 관한 것입니다.
ErikE

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

Pyth, 73 바이트

V30FGPc"Crime predicted: xxx-xx-xxxx\nCalling: 1-xxx-555-xxxx"\xpGpOT)pb"

데모


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

언 골프 드 :

# 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

PowerShell을 120 108 103 102 바이트

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

split-loop를 대신 배열로 출력하고 @(..)다시 결합 하는 코드 블록으로 설정하여 몇 바이트를 줄 였습니다.

제거 @ 기억함으로써 (...)사전이 실행 된 코드 블록을 나타내고-join''어쨌든 .

따라서 $a변수 를 할당 할 필요가 없습니다 . 또한 -split기능이 작동 하는 방식으로 인해 이전 코드가 전화 번호에 너무 많은 숫자를 뱉어 내고1-XXX-555-XXX . Random 9실제로에서 임의로 선택 하는 잘못된 것으로 구성 0-8되었으므로 대신 지정해야합니다.Random 10.

두 자리에 가까운 Sooo dang, 그러나 다른 골프를 할 수있는 곳이 확실하지 않습니다. 4 바이트 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유효한 SSN으로 처리됨)과 .ToString()PowerShell에서 사용 하는 매우 강력한 형식화 알고리즘 덕분에 장황한 언어에 대해 경쟁이 치열 합니다. PowerShell은 또한 출력\r\n 모든 문자열 출력 후에도 출력하므로 반복 사이의 줄 바꿈에 대한 요구 사항은 간단합니다."" 합니다.

이것은의 Get-앞에 암시 적을 사용 Random하므로 일부 플랫폼 / 구현에서 실제로 느려질 수 있습니다 .


0

베 펀지 -98, 170

나는 이것이 여전히 약간 골프 다운 될 수 있다고 생각합니다. 그러나 적어도 나는 C #을 이겼다. 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, 151150 바이트

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.