首页 > 代码库 > 华为机试—多个数的最大公约数
华为机试—多个数的最大公约数
题目:求最大公约数
输入一组正整数(数量小于20),输出其最大公约数。
输入:121 33 44 11 1111
输出:11基本思路:
从第一个数开始,和第二个数比较找它两的最大公约数,然后找出的最大公约数和第三个数比较,依次类推
#include<stdlib.h> #include<stdio.h> int a[30]; int gcd(int a,int b){ return b==0?a:gcd(b,a%b);} int main() { freopen("a.in","r",stdin); int n; int i=-1; while(~scanf("%d",&a[++i])) ; n=i; int t; for(int j=1;j<n;++j) { t=gcd(a[0],a[j]); a[0]=t; } printf("%d\n",t); return 0; }
华为机试—多个数的最大公约数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。