테스트 사이트 - 개발 중인 베타 버전입니다

php 랜덤 곱셈하기 채택완료

찬돌이 4년 전 조회 2,092

아래 처럼 프로그램을 작성 했는데 에러가 발생합니다.

$a = mt_rand(11,99);

$b = array(100,1000);

for($i=1; $i<11; $i++) {

  shuffle($b);   $c = mt_rand(1,9);

  $c = $b * $c;

  echo "{$i}) {$a} x {$b} = {$a*$d} "

}

 

출력물은

1) 22 x 100 = 2200

2) 11 x 7000 = 77000

으로 하고 싶습니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
sad4u
4년 전

1. 계산식은 가급적이면 ($a*$b) 식으로 괄호를 붙여서 활용

2. $b는 배열이므로 해당 배열의 어떤 값을 사용할 것인지에 대한 부분이 누락

 

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

s
sinbi
4년 전
shuffle 밑에서는 index 넣어서 표시해야....
찬돌이
4년 전
빠른 답변에 감사합니다.
배열에 인덱스 값을 들어가야 한다는 것을 착각 했습니다.
$b[0] 으로 처리하였습니다.

댓글을 작성하려면 로그인이 필요합니다.

B
4년 전

</p>

<p>for ($i=1; $i<11; $i++) {

    $a = mt_rand(11, 99);

    $b = mt_rand(100, 1000);

    printf('%d) %d x %d = %d
', $i, $a, $b, $a*$b); // $a*$b → number_format($a*$b)

}</p>

<p>

 

</p>

<p>$a = range(11, 99);</p>

<p>$b = range(100, 1000); // 배열값 총 901개, 비효율적이지만…</p>

<p>for ($i=1; $i<11; $i++) {

    shuffle($a);

    shuffle($b);

    printf('%d) %d x %d = %d
', $i, $a[0], $b[0], $a[0]*$b[0]);

}</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인