当前位置: 首页 > news >正文

常用基础算法程序

常用的基础算法程序

1.高位数逐位取出

逆序输出:

#include <iostream>
using namespace std;int main()
{int n;cin >> n;while (n){cout << n % 10;n /= 10;}return 0;
}

正序输出(使用递归):

#include <iostream>void get_first_digit(int num) {if(num < 10) {std::cout << num << " ";return;}get_first_digit(num / 10);std::cout << (num % 10) << " ";
}int main() {int num = 12345;get_first_digit(num);  // 输出:1 2 3 4 5return 0;
}

2.获取多位数位数

#include <iostream>
using namespace std;int main()
{int n;cin >> n;int cnt = 0;while (n){n /= 10;cnt++;}cout << cnt << endl;return 0;
}

3.求最大公约数

#include <iostream>
using namespace std;/// @brief Greatest Common Divisor
/// @param a
/// @param b
/// @return
int gcd(int a, int b)
{if (b == 0){return a;}else{return gcd(b, a % b);}
}int main()
{int a, b;cin >> a >> b;cout << gcd(a, b) << endl;return 0;
}

更推荐用循环写:

#include <iostream>
using namespace std;int main()
{int a, b;cin >> a >> b;int c = a % b;while (c){a = b;b = c;c = a % b;}cout << b << endl;return 0;
}

4.求最小公倍数

需要先实现最大公因数。

#include <iostream>
using namespace std;int main()
{int a, b;cin >> a >> b;cout << a * b / gcd(a, b) << endl;return 0;
}
http://www.jsqmd.com/news/44045/

相关文章:

  • Cypher多深度查询
  • linux c 内核
  • linux c xml
  • 2025出国留学机构哪家强?5大靠谱品牌深度测评
  • build multi version repository on rhel9
  • 2025.11.18总结
  • Wavelet tree
  • 买完学习机还需要去线下补课吗? AI 学习机 + 自习室是中小学生普娃的更优解!
  • 251118
  • 拥护UE4.27、UE5.0、UE5.1、UE5.2、UE5.3、UE5.4、UE5.5的VS2022一键安装技巧
  • Dify VS LangGraph
  • 动态重心
  • nerdbox 进程树
  • GAN生成对抗网络学习-例子:生成逼真手写数字图 - 实践
  • LangChain v1.0 大模型的调用
  • 从工匠故事读懂开源软件的特点与价值 - 实践
  • linuxserver/librespeed镜像在host网络模式下自定义web监听端口
  • 详细介绍:pdf解析工具---Miner-u 本地部署记录
  • Maven 无用依赖清理与依赖冲突解决
  • 强化学习从入门到放弃 —— 跟着 OpenAI 学强化学习
  • 使用Action表驱动代替switch…case语句
  • LangChain v1.0 Agent的工具定义及调用
  • linux c qt
  • linux c mysql库
  • L11 RuoYi_数据分页的总条数分析
  • 2025最新江苏苏州、高邮、镇江方向(专线)物流、当日往返运输、配送中心、分拨中心服务商推荐:时效性高,线路可定制,提供仓储、供应链等物流全链条服务
  • c#json帮助类
  • 11.17 事务的隔离级别
  • 获取当前软件的内存
  • foobar2000 v2.25.3 汉化版