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

n의 n제곱의 합

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

 

안녕하세요 오늘도 문제 나갑니다~


2^3 이란 ==> 2의  3승 (2*2*2 = 8) 을 의미합니다. 

 

1^1 + 2^2 + 3^3 + 4^4  + 5^5  + 6^6  + 7^7  + 8^8  + 9^9  + 10^10 =  10405071317  

이 합의 마지막 5자리는 71317 입니다.

 

문제)

1^1 + 2^2 + 3^3 + 4^4  ​............. + 999^999 + 1000^1000  의 마지막 5자리는 얼마일까요?

 

 

댓글 작성

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

로그인하기

댓글 6개

<?php

header('Content-Type: text/html; charset=utf-8');

$input = 1000;//1에서 1000 까지의 n의 n제곱에 대해서 마지막 5자리를 구하라



/*

※ 포인트

숫자형의 범위를 넘어서는 계산
어차피 마지막 5자리를 구하면 되므로 잘라서 계산

*/

$result = 0;

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

$x = $i;

for ($j = 2; $j <= $i; $j++) {

$x *= $i;
$x_str = (string)$x;//자리수 계산과 잘라내기 위해 문자형으로 변환

if (strlen($x_str) > 5) {//5자리가 넘는다.

$x = (int)substr($x_str, -5);//뒤에서 5자리를 잘라서 다시 숫자형으로 변환
}
}

$result += $x;//최종 제곱 값을 결과값에 합산

$result_str = (string)$result;//자리수 계산과 잘라내기 위해 문자형으로 변환

if (strlen($result_str) > 5) {//5자리가 넘는다.

$result = (int)substr($result_str, -5);//뒤에서 5자리를 잘라서 다시 숫자형으로 변환
}
}

echo "1^1 + 2^2 + 3^3 + 4^4 + ​............. + " . ($input - 1) . "^" . ($input - 1) . " + " . $input . "^" . $input . " 의 마지막 5자리는 얼마일까요 ? <br />" . PHP_EOL;

echo (int)substr((string)$result, -5);

?>
유창화님의 답변도 너무 감사합니다

정말 코딩하시느라.. 고생하셨어요 ㅎ
$input = 1000;
$result = 0;
$n = 100000; // 6자리로 나누어 나머지가 5자리가 되도록 함
for ($i = 1; $i <= $input; $i++) {
$x = $i;
for ($j = 2; $j <= $i; $j++) {
$x *= $i;
if ($x >= $n) $x %= $n;
}
$result += $x;
}
echo $result % $n;
제 답보다 더 좋은 답이네요
좋은 내용입니다
감사합니다.
유창화님의 글이 많이 도움이 되었습니다.
슈와이님!

깔끔한 답변 감사합니다~~~ 아주 깔끔하고 좋은데요

게시글 목록

번호 제목
6461
6460
6456
6418
6391
6390
6379
6378
6377
6376
6360
6341
6329
6328
6327
6316
6305
6297
6291
6276
6256
6254
6238
6230
6208
6195
6189
6188
6187
6168