1 条题解
-
0
输入带空格的字符串
当需要读取一行包含空格的字符串时,可以使用
getline(cin, s);
的方式,读入一整行到字符串 中。取余(模运算)
以下等式都是成立的
(a + b) % c == (a % c + b % c) % c (a * b) % c == ((a % c) * (b % c)) % c (a * b + x * y) % c == ( ((a % c) * (b % c)) % c + ((x % c) * (y % c)) % c ) % c
而一个十进制整数 $123456 == 1\times 10^5 + 2\times 10^4 + 3\times 10^3 + 4\times 10^2 + 5 \times 10 + 6$,因此可以用下面程序中的方法处理。
getline(cin, s); int cnt, now, ans; cnt = now = ans = 0; for (int i = 0; i < s.length(); i++) { if (s[i] == ' ') { cnt++; ans = (ans + now) % MODNUM; now = 0; } else now = (now * 10 + s[i] - '0') % MODNUM; } ans = (ans + now) % MODNUM; cout << cnt << " " << ans << endl;
- 1
信息
- ID
- 1141
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 16
- 已通过
- 10
- 上传者