C++编程:求因子和、逆序输出、判断个位数和素数算法实现
需积分: 9 55 浏览量
更新于2024-08-04
收藏 4KB MD 举报
"C++编程实践,包括计算一个数的因子之和、逆序输出数字、判断数字个位数以及寻找素数的算法实现"
在C++编程中,常常需要处理各种算法问题,以下代码展示了几个基础但实用的算法示例。
1. **求n的因子之和**
```c++
int yinzihe(int n) {
int sum = 0;
for (int i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
```
这段代码定义了一个函数`yinzihe`,用于计算输入整数`n`的所有正因子(不包括自身)的和。通过`for`循环遍历从1到`n-1`的整数,如果`n`能被`i`整除(即`n % i == 0`),则将`i`加到`sum`上。最后返回`sum`作为因子之和。
2. **求n的逆序输出**
```c++
int daoxu(int n) {
int m = 0;
while (n > 0) {
m = m * 10 + n % 10;
n /= 10;
}
return m;
}
```
`daoxu`函数用于将输入整数`n`的每一位数字逆序排列并返回新的整数。通过不断将`n`除以10并取余,然后将余数添加到`m`的左侧,实现了数字的逆序。
3. **将n放到数组中以判断个位数情况**
```c++
int geweishu(int x) {
int cur_len = 1;
while (x / cur_len >= 10) {
cur_len *= 10;
}
int i = 0;
while (x > 0) {
arr[i] = x / cur_len;
i++;
x = x % cur_len;
cur_len /= 10;
}
return i;
}
```
函数`geweishu`将整数`x`的每一位数字存储到数组`arr`中,返回数组中有效元素的个数。通过不断更新`cur_len`以适应当前数字的位数,然后将`x`除以`cur_len`得到的商存入数组,最后通过`x % cur_len`更新`x`,直到`x`变为0。
4. **求i到n中的素数**
```c++
void find(int i, int n) {
int cnt = 0;
for (int j = i;; j++) {
int sum = 0;
for (int k = 2; k < j; k++) {
if (j % k == 0) {
sum++;
}
}
if (sum == 0) { cout << j << ""; cnt++; }
if (cnt == n) break;
}
}
```
这段代码定义了一个`find`函数,它从`i`开始,寻找并输出`n`个素数。使用嵌套`for`循环来检查每个数字`j`是否为素数:如果`j`不能被2到`j-1`之间的任何数字整除(即`sum`为0),则输出`j`并增加计数器`cnt`。当找到`n`个素数时,函数退出。
这些C++代码实例展示了基本的算法操作,如遍历、条件判断、数组操作以及数学运算,是理解和实践C++算法的基础。通过这些例子,开发者可以更好地掌握如何在实际问题中应用C++来解决问题。
2020-11-21 上传
2020-11-21 上传
2021-04-19 上传
m0_73592469
- 粉丝: 0
- 资源: 1
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手