CodeForces-460A-Vasya And Socks

A. Vasya and Socks
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Vasya has n pairs of socks. In the morning of each day Vasya has to put on a pair of socks before he goes to school. When he comes home in the evening, Vasya takes off the used socks and throws them away. Every m-th day (at days with numbersm, 2m, 3m, ...) mom buys a pair of socks to Vasya. She does it late in the evening, so that Vasya cannot put on a new pair of socks before the next day. How many consecutive days pass until Vasya runs out of socks?

Input

The single line contains two integers n and m (1 ≤ n ≤ 100; 2 ≤ m ≤ 100), separated by a space.

Output

Print a single integer — the answer to the problem.

Sample test(s)
input
2 2
output
3
input
9 3
output
13
Note

In the first sample Vasya spends the first two days wearing the socks that he had initially. Then on day three he puts on the socks that were bought on day two.

In the second sample Vasya spends the first nine days wearing the socks that he had initially. Then he spends three days wearing the socks that were bought on the third, sixth and ninth days. Than he spends another day wearing the socks that were bought on the twelfth day.

想法:解此题时没有用到特别的数学算法,通过do while循环,按照正常的逻辑顺序进行循环,求得答案,过程较为直观明了,因为第一天肯定有袜子穿,接着袜子数-1,若是m的倍数天,则又会新添一双袜子。
!重点在于第一次循环一定会通过
#include

using namespace std;

int main()
{
	int m, n, x = 0;
	cin >> n >> m;
	do
	{
		x++;
		n--;
		if (x%m == 0)
			n++;
	} while (n);
	cout << x;

	return 0;
}

你可能感兴趣的:(codeforces,C++)