c++实现几种整数小算法

来源:互联网 发布:zemax反射镜怎么优化 编辑:程序博客网 时间:2024/05/09 01:24

1.递归实现十进制数转换成k进制

#include <iostream>using namespace std;void nToK(int n,int k){if (n){nToK(n / k, k);cout << n%k;}}int main(){cout << "请输入一个十进制整数n:" << endl;int n;cin >> n;cout << "请输入需要转换成的进制数k:" << endl;int k;cin >> k;nToK(n,k);return 0;}
2.求两个数的最大公约数和最小公倍数

     辗转相除法:当余数为0时此时的被除数即为最大公约数,最小公倍数为两数乘积除以最大公约数

#include <iostream>using namespace std;int main(){cout << "请输入一个十进制整数:" << endl;int m;cin >> m;cout << "请输入另一个十进制数:" << endl;int n;cin >>n;if (m<n){int temp;temp = m;m = n;n = m;}int a = m*n;int r=m%n;//余数初始化while (r){m = n;n = r;r = m%n;}cout << "最大公约数为" << n << endl;cout << "最小公倍数为" << a/n << endl;return 0;}

0 0
原创粉丝点击