더하기 사이클 (1110)

Created:

Baekjoon No.1110 문제
Baekjoon No.1110 예제
반복문을 몇 번 돌았는지 묻는 문제.

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번 문제였으나 제외되었다.