点赞(0)
 

0.0分

53 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 25 条评论

momo474 3年前 回复TA
第一张图是为0不循环,楼主写错了
秋清深 3年前 回复TA
#include<stdio.h>
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	int i,j;
	for(i=a;a%i!=0||b%i!=0;i--);
	printf("%d ",i);
	for(j=b;j%a!=0||j%b!=0;j++);
	printf("%d",j);
	return 0;
}
就这几行不就解决了
meizanwalida 3年前 回复TA
int yin(int,int);
int yin(int a,int b)
{
    int i;
    for(i = a<b?a:b;a%i != 0||b%i != 0;i--);
    return i;
}
int bin(int,int,int);
int bin(int a,int b,int i)
{
    int c = a*b/i;
    return c;
}
#include "stdio.h"
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    int i = yin(a,b);
    int f = bin(a,b,i);
    printf("%d %d",i,f);
    return 0;
}
HzuYZL 3年前 回复TA
@虹山上峰 @hongshanshangfe 基本都是这种方法的了
虹山上峰 3年前 回复TA
@虹山上峰 博主有木有更通熟易懂的方法啊
虹山上峰 3年前 回复TA
求个公约数咋嘛这么绕
毛群祥是废物 3年前 回复TA
@毛群祥是废物 这是我这个初学者能想到的最简单的方法了
毛群祥是废物 3年前 回复TA
zh
#include<stdio.h>
void zuida(int a,int  b)
{
int i;
if(a>b)
	{
	for(i=b-1;i<b;i--)
		{
			if(a%i==0&&b%i==0)  
			{printf("%d\n",i);  break;}
		}
	}
if(a<b)
	{
	for(i=a-1;i<=a;i--)	
		{
		if(a%i==0&&b%i==0)  
		   {printf("%d\n",i);   break;}	
		}	
	}	
}

void zuixiao(int num1,int num2)
{
int j;
if(num1>num2)
	{
		for(j=num1;j<=num1*num2;j++)
		{
			if(j%num1==0&&j%num2==0)  {printf("%d\n",j);  break;}
		}
	}
if(num2>num1)
	{
		for(j=num2;j<=num1*num2;j++)
		{
			if(j%num1==0&&j%num2==0)   {printf("%d\n",j);   break;}
		}
	}
	
}

int main (void)
{
	int a,b;
	scanf("%d%d",&a,&b);
	zuida(a,b)
HzuYZL 3年前 回复TA
@兰澜岚 你  gcd   lcm 变量应该是局部声明,全局的话会调用上次是数。
兰澜岚 3年前 回复TA
@兰澜岚 求大佬看看我这个答案出来的为啥是错的