首页 > 其他分享 >C练习题——打印两个数的最大公约数

C练习题——打印两个数的最大公约数

时间:2023-12-14 14:58:39浏览次数:29  
标签:练习题 return min int scanf 打印 最大公约数 printf main

算法一:暴力求解(效率不够)

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    int min = a < b ? a : b;
    while (1)
    {
        if ((a % min == 0) && (b % min == 0))
            break;
        min--;
    }
    printf("%d\n", min);
    
    
    return 0;
}

 

 


算法二优化:辗转相除法,大数对小数取余,小数再对余数取余,余数为零停,无须比较,大小自动交换 

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d %d", &a, &b);
    while (c = a % b)
    {
        a = b;
        b = c;
    }
    printf("%d\n", b);
    return 0;
}

 

 

 

标签:练习题,return,min,int,scanf,打印,最大公约数,printf,main
From: https://www.cnblogs.com/xiaowanglong/p/17901146.html

相关文章

  • C练习题——打印第n个斐波那契数
    斐波那契数列:1123581321...规律:从第三个数开始,第n个数为前两数之和#include<stdio.h>intmain(){intn=0;scanf("%d",&n);inta=1;intb=1;intc=1;while(n>=3){c=a+b;a=b;......
  • 求两数的最大公约数和最小公倍数的n种方法
    最大公约数:公约数,亦称“公因数”。它是指能同时整除几个整数的数。如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。对任意的若干个正整数,1总是它们的公因数。最小公倍数:两个或多个整数公有的倍数中,除0以外最小的一个公倍数。......
  • 求其最大公约数和最小公倍数,一行代码完成
    题目:输入两个正整数m和n,求其最大公约数和最小公倍数。求出最大公约数就行,最小公倍数用m*n除以最大公约数就行packagemyself;importjava.util.Scanner;/***@AutherQY*@Date2023/12/11*/publicclassSix{publicstaticvoidmain(String[]args){......
  • PDF打印
    data: L_FUN_NAM          TYPE RS38L_FNAM,                "FUNCTION NAME     L_CONTROL          TYPE SSFCTRLOP,                 "CONTROL     L_OPTION           TYPE SSFCOMPO......
  • C#系统的打印功能的实现
    具体代码套用//打印功能privatevoidbtnPrint_Click(objectsender,EventArgse){PrintDocumentprintDocument1=newPrintDocument();//printDocument1.DefaultPageSettings.PrinterSettings.PrinterName="ZDesignerGX430t......
  • Day29 练习:打印三角形(For循环补充说明)
    练习:打印三角形packagecom.baixiaofan.struct;publicclassTestDemo01{publicstaticvoidmain(String[]args){//打印三角形五行/*for(表达式1;表达式2;表达式3){表达式4;}*///第一次循环:......
  • 谈一下next()在上面的场景中的作用,以及在odoo14中py3o打印模板中的适用场景。
    next()函数在Python中的主要作用是从可迭代对象中返回满足条件的第一个元素,或者在没有满足条件的元素时返回默认值。在上述场景中,next()用于在objects.additional_line中查找满足条件'预付款'inline.name的第一个元素的price_total属性,如果没有满足条件的元素,则返回默认......
  • 打印100=200之间的素数(质数)
    只能被本身和1整除的数--素数#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>//1.试除法--低阶intmain(){ inti=0; intcount=0; for(i=100;i<=200;i++) { intj=0; for(j=2;j<=i;j++)//j从2开始是为了直接避免1这个数被除 { if(i%......
  • vue实现打印功能
    1.安装插件npminstallvue-print-nb--save2. main.js中全局引入importPrintfrom'vue-print-nb'Vue.use(Print);3.页面中使用<el-dialog:visible.sync="openCodeCard"width="40%"class="offset-dialog"append-to-body:sho......
  • Excel-表格的设计及打印
    一、表格的边框设置页面布局-----网格线---勾选列印开始----字体栏-----边框【可以直接套用格式进行设置】;绘制边框---选择线型用鼠标进行一行一列的绘制绘制边框网格-----选择区域网格进行设置【取消用shift+鼠标选中】可以根据线型粗细、虚实、颜色等来绘制二、表格的......