酷代码 AI
菜单
服务商

题目描述 小 S 的生日就要到了,小 Q 决定送给小 S 数字 x 当做礼物。为此,她首先准备了一个四位数 x。 但是,小 S 并不喜欢 ≥k 的数字。因此,小 Q 要将 x 的每一位上的数字分别变成这一位数字除以 k 得到的余数。 请你告诉小 Q 最终 x 会变成什么样子。 输入格式 一行,两个用空格隔开的正整数 x,k,其中 x 表示小 Q 准备的数字,保证是一个四位正整数。k 的含义参照题目描述。 输出格式 一行,一个非负整数,表示 x 每一位对 k 取余后的数字。 用c++语言

```cpp #include <iostream> using namespace std; int main() { int x, k; // 读取输入的四位数 x 和除数 k cin >> x >> k; // 分别取出四位数的每一位 int thousands = x / 1000; int hundreds = (x / 100) % 10; int tens = (x / 10) % 10; int units = x % 10; // 对每一位数字进行取余操作 thousands %= k; hundreds %= k; tens %= k; units %= k; // 组合取余后的每一位数字 int result = thousands * 1000 + hundreds * 100 + tens * 10 + units; // 输出结果 cout << result << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 要确保输入的 x 是一个四位正整数,否则取每一位数字的逻辑可能出错。 2. 注意 k 的取值,如果 k 为 0,会导致程序出现除零错误。 3. 组合取余后的每一位数字时,要确保每一位的权重(如千位乘以 1000)使用正确。 [2025-11-05 18:39:56 | AI写代码神器 | 321点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多