数位分离
数位分离指将一个整数的每一位数字单独提取出来(如把 123拆为 1、 2、 3),核心思路是利用取余( %)和整除
( /)操作。
步骤:
对数字n取余 10,得到个位数字。
将 n整除 10( n = n / 10),去掉个位,缩小数字范围。
重复步骤1-2,直到 n == 0(所有位已提取)。
示例(提取 1234的每一位并输出):
输出: 4 3 2 1(注意:提取顺序是“从低位到高位”,若需“高位到低位”,可先存数组再逆序)。
必会题型
// 1. 函数声明(原型):只写头,加分号,形参名可写可不写,类型必须写
int getSum(int a, int b);
#include <iostream>
bool isPrime(int); // 形参名省略,语法合法,竞赛常用
int main() {
cout << "和为:" << getSum(10,20) << endl; // 正常调用
cout << "17是否是素数:" << isPrime(17) << endl;
return 0;
}
// 2. 函数定义:完整实现,写在main后
int getSum(int a, int b) {
return a + b;
using namespace std;
}
bool isPrime(int x) {
if(x<=1) return false;
for(int i=2;i*i<=x;i++) if(x%i==0) return false;
return true;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int n = 1234; while
(n > 0) {
int digit = n % 10; // 取个位
cout << digit << " ";
n = n / 10; // 去掉个位
}