C语言编程中最小公倍数怎么求
#include<stdio.h>
int main()
{
int m,n,temp,i;
printf("Input m&n:");
scanf("%d%d",&m,&n);
if(m<n)/*比较大小,使得m中存储大数,n中存储小数*/
{
temp=m;
m=n;
n=temp;
}
for(i=m;i>0;i++)/*从大数开始寻找满足条件的自然数*/
if(i%m==0&&i%n==0)
{/*输出满足条件的自然数并结束循环*/
printf("The LCW of%d and%d is:%d\n",m,n,i);
break;
}
return 0;
}
算法设计
对于输入的两个正整数m和n每次输入的大小顺序可能不同,为了使程序具有一般性,首先对整数所m和n进行大小排序,规定变量m中存储大数、变量n中存储小数。
输入的两个数,大数m是小数n的倍数,那么大数m即为所求的最小公倍数;若大数m不能被小数n整除则需要寻找一个能同时被两数整除的自然数。
从大数m开始依次向后递增直到找到第一个能同时被两数整除的数为止,所以循环变量i的初值为寻找第一个能同时被两整数整除的自然数,并将其输出。需要注意的是,在找到第一个满足条件的i值后,循环没必要继续下去,所以用break来结束循环。
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。
思想:输入的两个数,大数m是小数n的倍数,那么大数m即为所求的最小公倍数;若大数m不能被小数n整除则需要寻找一个能同时被两数整除的自然数。
从大数m开始依次向后递增直到找到第一个能同时被两数整除的数为止,所以循环变量i的初值为寻找第一个能同时被两整数整除的自然数,并将其输出。需要注意的是,在找到第一个满足条件的i值后,循环没必要继续下去,所以用break来结束循环。
#include<stdio.h>
int main()
{
int m, n, temp, i;
printf("Input m & n:");
scanf("%d%d", &m, &n);
if(m<n) /*比较大小,使得m中存储大数,n中存储小数*/
{
temp = m;
m = n;
n = temp;
}
for(i=m; i>0; i++) /*从大数开始寻找满足条件的自然数*/
if(i%m==0 && i%n==0)
{/*输出满足条件的自然数并结束循环*/
printf("The LCW of %d and %d is: %d\n", m, n, i);
break;
}
return 0;
}
扩展资料:
c语言书写规则:
1、一个说明或一个语句占一行。
2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
#include <stdio.h>
void main()
{
int a,b,c;
int k,t;
printf("input two number:");
scanf("%d %d",&k,&t);
a = k;
b = t;
c = a%b;
while ( c>0 )
{
a = b;
b = c;
c = a%b;
}
a = k*t/b;
printf("最小公倍数为:%d\n",a);
}
满意请采纳!
#include <stdio.h>
main()
{
int a,b,k;
scanf("%d%d",&a&b);
for(k=1; ;k++)
{
if(k%a==0&&k%b==0) break;
}
printf("k=%d\n",k);
}
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int i,j,y,b,m;
cout << "输入第一个数";
cin >> i;
cout << "输入第二个数";
cin >> j;
if (i > j)
m = i;
else
m = j;
for (y =m;y>=1; y--)
{
if ((i%y == 0) && (j%y == 0))
break;
}
cout << "最大公约数为" << y << endl;
for (b = 1;; b++)
{
if ((b%i == 0) && (b%j == 0))
break;
}
cout << "最小公倍数为" << b << endl;
}