首页 > 其他分享 >函数递归求n个数的最大公因数(优化版)

函数递归求n个数的最大公因数(优化版)

时间:2023-12-08 23:06:49浏览次数:38  
标签:return 递归 int 个数 ret arr1 main 公因数

#include <stdio.h>

int ret(int x, int y)

{

   int i=1;

   if (x % y == 0 || y % x == 0)

      return(x > y ? y : x);

   else

   {

       while (x % y != 0)

       {

           i = x % y;

           x = y;

           y = i;

       }

      return i;

   }

}

int main()

{

   int arr1[5] = { 0 };        

   int i = 0,k=0,j=0;

   for (i = 0; i <3; i++)      

   {

       scanf_s("%d", &arr1[i]);                  

   }

   for (j = 0; j <i-2; j++)

   {

       int ret(int x, int y);        

       k = ret((ret(arr1[j], arr1[j+1])),arr1[j+2]);  

   }    

   printf("%d\n", k);        

   return 0;

}


标签:return,递归,int,个数,ret,arr1,main,公因数
From: https://blog.51cto.com/u_16336886/8741782

相关文章

  • n个数算最小公倍数(优化版)
    #include<stdio.h>intret(intx,inty){  inti=1;  if(x%y==0||y%x==0)    return(x>y?x:y);  else  {   for(i=1;i<=x*y;i++)    {      i=x*i;      if(i%y==0) ......
  • 从概念到实践,带你掌握层次递归查询
    本文分享自华为云社区《GaussDB数据库SQL系列-层次递归查询》,作者:Gauss松鼠会小助手2。一、前言层次递归查询是一种常见的SQL查询方式,特别是在一些层次化的数据存储结构中经常用到。本文主要以GaussDB数据库为实验平台,为大家讲解其使用方法。二、GuassDB数据库层次递归查询概......
  • 递归时间复杂度---黑马程序员
    1.主定理求时间复杂度  展开求时间复杂度 ......
  • Java第五课_函数重载递归和初识数组
    1.函数重载//关键字:public,static等//保留字:关键字的预备役var,goto//jdk11开始,还有JS里var升级为关键字:var变量名=初始值;//重载/overload:在同一个类中,允许函数重名,但是他们的参数列表必须不同.......
  • 函数(2)递归
    一、函数递归什么是递归程序调用自身的编程技巧称为递归(recursion)。递归作为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程......
  • 递归
    @OverridepublicList<CategoryEntity>listWithTree(){//1、查询所有分类List<CategoryEntity>entities=baseMapper.selectList(null);//2、组装成树状的父子结构//查出所有的一级分类List<CategoryEntity>collect=entities.stream().filter(categoryEntity->cate......
  • 两种方法求字符串个数(函数递归和指针)
    前言:我先想讲一个关于指针的问题,由于我一开始学习指针的时候很困惑,现在分享给大家。假设我们定义一个指针p,我们首先要区分p、&p与*p的区别(对于初学者应该和我一开始一样迷茫)p:p是一个指针变量的名字,表示此指针变量指向的内存地址,如果用%p输出的话它将是一个16进制位的数。*p:*是解引......
  • #yyds干货盘点# LeetCode程序员面试金典:统计各位数字都不同的数字个数
    题目给你一个整数n,统计并返回各位数字都不同的数字x的个数,其中0<=x<10n。 示例1:输入:n=2输出:91解释:答案应为除去11、22、33、44、55、66、77、88、99外,在0≤x<100范围内的所有数字。 示例2:输入:n=0代码实现classSolution{publicintcount......
  • c#利用正则表达式获取字符串中汉字的个数
    利用正则表达式获取字符串中汉字的个数stringstr=@"D:\文档\C#BASE\StringBuilder.md";Regexregex=newRegex("^[\u4e00-\u9fa5]{0,}$");intcount=0;for(inti=0;i<str.Length;i++){count=regex.IsMatch(str[i].ToString())?++......
  • STATA fc 比较两个数据集
    使用Stata对双次录人后的数据集进行-致性检查。对两个数据集进行-致性检查的Stata命令为cf(comparefiles),对应的Stata菜单操作方式为Data-.Datautilities-.Comparetwodatasets。Stata是这样描述duplicates命令的:cf命令用来比较主从数据集是否存在某些变量......