首页 > 其他分享 >C语言解题 || 小乐乐与欧几里得

C语言解题 || 小乐乐与欧几里得

时间:2024-02-06 18:32:55浏览次数:19  
标签:乐乐 正整数 int sum long C语言 公倍数 最大公约数 解题

题目:

小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。

输入描述:

每组输入包含两个正整数n和m。(1≤n≤109, 1≤m≤109)

输出描述:

对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。

代码实现:

//求2个数最大公约数和最小公倍数之和

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

long long  Max_divisor(int a, int b)
{
	int c = 0;
	
	//辗转相除法
	// (a、b)的最大公约数 == (b、r)的最大公约数   注:r 为 a / b 的余数
	// 所以不断除下去,直到余数为0,此时的被除数就是原(a、b)的最大公约数
	//
	while (c = a % b)
	{
		a = b;
		b = c;
	}
	return b;
}

long long  Min_multiple(int n, int m)
{
	return (long long )n*m/Max_divisor(n, m);
}

int main()
{
	int n = 0;
	int m = 0;
	long long  sum = 0;
	int i = 0;

	scanf("%d %d", &n, &m);


	//最大公约数
	sum += Max_divisor(n, m);

	//最小公倍数
	sum += Min_multiple(n, m);

	printf("%lld\n", sum);

	return 0;
}

运行结果:

C语言解题 || 小乐乐与欧几里得_Max


标签:乐乐,正整数,int,sum,long,C语言,公倍数,最大公约数,解题
From: https://blog.51cto.com/u_16509575/9630175

相关文章

  • C语言解题 || 空心正方形图案
    题目:KiKi学习了循环,BoBo老师给他出了一列打咽案的练习,该任务是打印用“*”组成的空心正方形图案。输入描述:多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。输出描述:针对每行输入,输出用“*”组成的空心"正方形,每个"*”后面有1个空格。代码实现:#define......
  • c语言实现内存池
    概要所谓内存池,顾名思义和线程池的设计原理是一样的,为了减少频繁申请释放内存而带来的资源消耗,减少释放内存后产生的内存碎片。设计理念为了方便管理内存池的设计通常是划分出一定数量的内存块,这些内存块的长度是一样的;用户申请内存块时返回空闲的内存块地址,如果内存块使用完......
  • C语言-calloc
    #include<stdio.h>#include<stdlib.h>intmain(){int*p=(int*)calloc(10,sizeof(int));if(p==NULL){perror("calloc");exit;}printf("%d\n",&p);//6487576printf("%......
  • 3.C语言学习--分支与循环例题分析2
    1.有三个数,将他们按照从大到小的顺序输出intmain(){ inta=0; intb=0; intc=0; scanf("%d%d%d",&a,&b,&c); inttmp=0; if(a<b) { tmp=a; a=b; b=tmp; } if(a<c) { tmp=a; a=c; c=tmp; } if(b<c)......
  • 使用C语言构建一个独立栈协程和共享栈协程的任务调度系统
    使用了标准库头文件<setjmp.h>中的setjmp和longjmp两个函数,构建了一个简单的查询式协作多任务系统,支持独立栈和共享栈两种任务。其中涉及到获取和设置栈的地址操作,因此还需要根据不同平台提供获取和设置栈的地址操作(一般是汇编语言,因为涉及到寄存器)该调度系统仅运行在一个......
  • c语言设计模式精要
    C语言是一种广泛使用的编程语言,它具有高效、灵活和可移植性等优点。在C语言的设计中,有一些重要的设计模式可以提高代码的可读性、可维护性和可扩展性。其中,最常见的设计模式包括单例模式、工厂模式和观察者模式等。单例模式用于确保一个类只有一个实例,并提供全局访问点;工厂模......
  • C语言-calloc
    学习网址C语言动态内存函数(malloc、calloc、realloc、free)详解:https://www.jb51.net/program/295325hjh.htmC语言动态内存函数详解:https://www.jb51.net/article/223725.htmcalloc函数需要头文件:<stdlib.h>calloc函数(动态内存分配函数):void*calloc(size_tnum,size_tsize);功能......
  • c语言判断是文件还是文件夹,软链接,硬链接
    摘自:文心一言在C语言中,可以使用stat()函数来判断一个路径对应的是文件、文件夹或者其他类型。#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>intmain(){charpath[]="/path/to/file_or_folder";//要判断的路径structstatfileInfo......
  • 探索C语言的数据类型:解密编程世界的核心秘密
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 探索C语言的数据类型:解密编程世界的核心秘密
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......