더하기 사이클 (1110)
Created:
반복문을 몇 번 돌았는지 묻는 문제.
Bash
Bash 1
2
3
4
5
6
7
8
9
10
11
12
13
read n
m=$n
i=1
while :; do
a=$((m%10))
b=$((m/10 + a))
m=$((a*10 + b%10))
if [ $m == $n ]; then
break
fi
((i++))
done
echo $i
C
C 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
int main(void) {
int n;
scanf("%d", &n);
int m = n, i = 0;
do {
int a = m%10;
int b = m/10 + a;
m = a*10 + b%10;
i++;
} while (n != m);
printf("%d\n", i);
return 0;
}
Node.js
JavaScript 1
2
3
4
5
6
7
8
9
10
let n = Number(require("fs").readFileSync(0).toString().trim());
let m = n;
let i = 0;
do {
let a = m%10;
let b = Math.floor(m/10) + a;
m = a*10 + b%10;
i++;
} while (m != n);
console.log(i);
PHP
PHP 1
2
3
4
5
6
7
8
9
10
11
12
<?php
fscanf(STDIN, "%d", $n);
$m = $n;
$i = 0;
do {
$a = $m%10;
$b = floor($m/10) + $a;
$m = $a*10 + $b%10;
$i++;
} while ($n != $m);
echo $i;
?>
Python3
Python 1
2
3
4
5
6
7
8
9
n = int(input())
m, i = n, 1
while 1:
a = m%10
b = m//10 + a
m = a*10 + b%10
if n==m: break
i += 1
print(i)
Ruby
Ruby 1
2
3
4
5
6
7
8
9
10
n = gets.chomp.to_i
m, i = n, 0
loop do
a = m%10
b = m/10 + a
m = a*10 + b%10
i+=1
break if n == m
end
puts i
Updated
- 반복문의 12번 문제였으나 제외되었다.