有 n 张卡片堆成一摞,每张卡片自顶向下从 1 到 n 顺序编号。开始一个弃卡的游戏:每次抛弃该摞卡片中的最顶端卡片,然后把新的最顶端卡片(如果有)挪到最底部;并坚持操作 n 步,直到所有的卡片都被弃完。 假设第 i 步抛弃了编号为 j 的卡片,那么这次弃卡操作的代价为 j%i 分,请计算 n 次操作完成后的总代价。
输入数据
一个正整数 n,n < 1000000
输出数据
完成 n 次操作后的总代价。
样例输入
7
样例输出
18
请用C或C++解决
有 n 张卡片堆成一摞,每张卡片自顶向下从 1 到 n 顺序编号。开始一个弃卡的游戏:每次抛弃该摞卡片中的最顶端卡片,然后把新的最顶端卡片(如果有)挪到最底部;并坚持操作 n 步,直到所有的卡片都被弃完。 假设第 i 步抛弃了编号为 j 的卡片,那么这次弃卡操作的代价为 j%i 分,请计算 n 次操作完成后的总代价。
输入数据
一个正整数 n,n < 1000000
输出数据
完成 n 次操作后的总代价。
样例输入
7
样例输出
18
请用C或C++解决