#include <QApplication>
#include <QDebug>
/// 求最小公倍数
int LeastCommonMultiple(int a, int b)
{
int t ;
int j=a*b;
if (a < b) {
// 交换两个数,使大数放在a的位置上。
t = a;
a = b;
b = t;
}
while (b != 0) {
// 利用辗转相除法,直到b为0为止。
t = a % b;
a = b;
b = t;
}
return j / a;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
{
double raster_per_mm = 0.0001 ; // 光栅精度,单位微米
double pulse_per_mm = 1/raster_per_mm; // 1毫米所需的脉冲数量
double mm_per_inch = 25.4; // 1英寸=25.4毫米
double pulse_per_inch = mm_per_inch * pulse_per_mm; // 25.4毫米所需的脉冲数量
int printerDpi = 1440;
int dpis[]={2880,1920,1440,1080,900,720,600,512,508,360,300,256,0};
int v;
qDebug("ID\tdpi\t1英寸脉冲数\t最小公倍数");
for(int i=0;dpis[i]>0;i++ )
{
v = LeastCommonMultiple( dpis[i], (int)pulse_per_inch );
qDebug("%d\t%d\t%0.0f\t%d", i, dpis[i], pulse_per_inch, v );
}
}
return a.exec();
}
最小公倍数的 C C++ 实现
于 2021-10-29 21:32:29 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)