1000 의 모든 약수의 합 > 퀴즈게시판

퀴즈게시판

답을 맞히시면, 문제를 내신 회원님이 채택을 해드립니다.
채택은 '좋아요'와 같습니다.

1000 의 모든 약수의 합 정보

1000 의 모든 약수의 합

본문

아래의 문제의 답을 도출하는 과정을 프로그래밍 언어로 구현하시오.(php, javascript... 뭐든 좋습니다)

 

예제)

10 의 모든 약수의 합을 구하시오.

예제정답) 1 + 2+ 5 + 10 = 18

 

 

문제)

1000 의 모든 약수의 합을 구하시오.

 

댓글 7개

수학적 지식이 없을 때 나오는 막코딩의 좋은 예.php
이 방법은 처음 1을 구할 수가 없네요. ㅠㅠ

<?php
$input = 1000;
$try = $input / 2;
$return = 1;
for ($i=1;$i<=$try;$i++) {
    $x = $input / $i;
    if (is_int($x)) $return += $x;
}
echo $return;
?>
  • 채택 0
엉터리 답일 수도 있는데....
그런데 정답이면 상품이 뭐 있을까요?

<?php
$Fnumber = "1000";
$sum = 0;
  for($i=1;$i<=$Fnumber;$i++)
    {
    if ($Fnumber % $i == 0)
    {
        echo " {$i}";
      $sum = $sum + $i; 
  }
    }
    echo "<BR>\n";
    echo "합 계 : ".$sum;
?>
  • 채택 0
위의 답이 맞다면...
자바스크립트는...

<script>
var Fnumber = 1000;
var sum = 0;

    for(var i=1;i <= Fnumber;i++)
    {
        if (Fnumber % i == 0)
        {
            document.write(i);
            sum = sum + i; 
        }   
    }
    Total = "<br>합 계 : " + sum; 
    document.write(Total);
</script>
  • 채택 0
오~ 모두들 너무 좋은 답안을 제시하셨습니다.

슈와이님의 답변이 위 답변 중에는 최소의 반복으로 소수의 합을 구할 수 있을거 같아요~~
  • 채택 0
입력값의  제곱근이 정수로 나올때 약수가 한번더 더해지는 오류가 있네요
$n =100 이고 $i = 10 일때
 if ($n % $i == 0) $sum += $n / $i + $i; 
$sum += 100 / 10 + 10; 이 되어 10 이 두번 더해짐

// 수정
$n = 100;
$j =  sqrt($n);
for ($i = 1; $i <= $j; $i++)
    if ($n % $i == 0) $sum += $n / $i + $i;     
echo ($j * $j != $n) ? $sum : $sum - $j;
  • 채택 0
전체 1,354 |RSS
퀴즈게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT