Description
7个人分球,共有n 个球,所有人得到的球必须相等。请输出最少剩下的球数。
Input
输入一行一个正整数 n(可能存在前导零)。
Output
输出一行一个整数,如题所述答案。
50
-
Sample Input
1
-
Sample Output
HINT
对于 40% 的数据:n ≤ 10^10;
对于 100% 的数据:n ≤ 10^1000000。
一眼看去,要用高精度?这就要MLE了.
事实上,边输入边取模就行.
#include <iostream>
#include <cstdio>
using namespace std;
int main(void)
{
int tot = 0;
char c;
while (cin >> c) // 输入直到EOF.
{
tot *= 10; // 把原来的上一位作为十位
tot += c - '0'; // 加上现在的个位
if (tot > 6) // 可以取模
{
tot %= 7; // 那么就爽快地取模
}
}
printf("%d", tot);
return 0;
}