1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가?
8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다.
(※(注記) 예를들어 8808은 3, 8888은 4로 카운팅 해야 함)
PHP입니다.
<?php
$c = 0;
for($i=0;$i<10000;$i++){
for($j=0;$j<strlen($i);$j++){
if(substr($i,$j,1)==8){
$c++;
}
}
}
echo $c;
?>
2014年02月19日 01:50
PHP
<?php
$count = 0; // $count를 숫자화시킨다
for($i=1;$i<=10000;$i++){ // 1부터 10000까지 반복한다
$i = (string)$i; // $i를 문자화시킨다 (이유 : 밑의 $j번째 글자를 불러오기 위해)
for($j=0;$j<strlen($i);$j++){ // 0부터 $i의 글자수 - 1번만큼 반복한다
if($i[$j]=="8")$count += 1; // $i의 $j번째 글자가 8이면 $count를 +1시킨다
}
$i = (int)$i; //$i를 숫자화시킨다.
}
echo $count; // $count를 출력한다.
?>
PHP는 간단하게(?)되네요 ᄏᄏᄏ
PHP
$result = substr_count(implode(range(1, 10000)), 8);
print_r($result); // 4000
2019年09月10日 17:44
풀이 작성