1000 의 모든 약수의 합
아래의 문제의 답을 도출하는 과정을 프로그래밍 언어로 구현하시오.(php, javascript... 뭐든 좋습니다)
예제)
10 의 모든 약수의 합을 구하시오.
예제정답) 1 + 2+ 5 + 10 = 18
문제)
1000 의 모든 약수의 합을 구하시오.
댓글 7개
11년 전
수학적 지식이 없을 때 나오는 막코딩의 좋은 예.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;
?>
이 방법은 처음 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;
?>
11년 전
엉터리 답일 수도 있는데....
그런데 정답이면 상품이 뭐 있을까요?
<?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;
?>
그런데 정답이면 상품이 뭐 있을까요?
<?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;
?>
11년 전
위의 답이 맞다면...
자바스크립트는...
<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>
자바스크립트는...
<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>
11년 전
$n = 1000 ;
$sum = 0;
$j = (int) sqrt($n);
for ($i = 1; $i <= $j; $i++)
if ($n % $i == 0) $sum += $n / $i + $i;
echo $sum;
$sum = 0;
$j = (int) sqrt($n);
for ($i = 1; $i <= $j; $i++)
if ($n % $i == 0) $sum += $n / $i + $i;
echo $sum;
11년 전
오~ 모두들 너무 좋은 답안을 제시하셨습니다.
슈와이님의 답변이 위 답변 중에는 최소의 반복으로 소수의 합을 구할 수 있을거 같아요~~
슈와이님의 답변이 위 답변 중에는 최소의 반복으로 소수의 합을 구할 수 있을거 같아요~~
11년 전
왜 그런지 모르겠지만 $n이 100일때와 10000, 1000000 일 때는 결과 값이 다르게 나오네요..
11년 전
입력값의 제곱근이 정수로 나올때 약수가 한번더 더해지는 오류가 있네요
$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;
$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;
게시판 목록
퀴즈게시판
답을 맞히시면, 문제를 내신 회원님이 채택을 해드립니다.
채택은 '좋아요'와 같습니다.
채택은 '좋아요'와 같습니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 816 |
루돌프사슴코
|
7년 전 | 2243 | |
| 815 |
루돌프사슴코
|
7년 전 | 1490 | |
| 814 |
루돌프사슴코
|
7년 전 | 1597 | |
| 813 | 7년 전 | 4677 | ||
| 812 | 7년 전 | 3721 | ||
| 811 | 7년 전 | 3102 | ||
| 810 |
루돌프사슴코
|
7년 전 | 4514 | |
| 809 |
루돌프사슴코
|
7년 전 | 1856 | |
| 808 |
루돌프사슴코
|
7년 전 | 2109 | |
| 807 |
|
7년 전 | 1826 | |
| 806 |
|
7년 전 | 1437 | |
| 805 |
|
7년 전 | 3953 | |
| 804 |
|
7년 전 | 4111 | |
| 803 |
|
7년 전 | 3411 | |
| 802 |
|
7년 전 | 1609 | |
| 801 |
|
7년 전 | 3526 | |
| 800 |
|
7년 전 | 2221 | |
| 799 |
|
7년 전 | 1998 | |
| 798 |
|
7년 전 | 4696 | |
| 797 |
|
7년 전 | 3230 | |
| 796 |
|
7년 전 | 4061 | |
| 795 |
루돌프사슴코
|
7년 전 | 4899 | |
| 794 |
루돌프사슴코
|
7년 전 | 2198 | |
| 793 |
루돌프사슴코
|
7년 전 | 1391 | |
| 792 | 7년 전 | 4539 | ||
| 791 | 7년 전 | 5738 | ||
| 790 | 7년 전 | 3441 | ||
| 789 |
루돌프사슴코
|
7년 전 | 1661 | |
| 788 |
루돌프사슴코
|
7년 전 | 1929 | |
| 787 |
|
7년 전 | 4338 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기