标题:gcd问题怎么解?
只看楼主
问题行家
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-11-28
结帖率:0
已结贴  问题点数:20 回复次数:1 
gcd问题怎么解?
题目描述
两个长度为n(n<=1e5)数组a,b,

对于每个i,输出gcd(a[1]*b[i],a[2]*b[i],...,a[n]*b[i]);

输入描述:
第一行输入n
第二行输入连续的n个数字,为a数组
第三行输入连续的n个数字,为b数组
(n<=1e5,1<=ai,bi<=1e9)
输出描述:
输出n行,每行一个数字
示例1
输入
复制
3
6 10 12
3 10 5
输出
复制
6
20
10
备注:
 gcd是最大公因子,指两个或多个整数共有约数中最大的一个。eg:gcd(21,36)=3
 
 gcd的java求法:
 
 
static int gcd(int x,int y){
if(y==0)return x;
return gcd(y,x%y);
}
搜索更多相关主题的帖子: 输出 数组 输入 int 描述 
2021-11-28 11:30
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
程序代码:
#include <iostream>
#include <numeric>
using namespace std;

int main( void )
{
    size_t n;
    cin >> n;

    unsigned result = 0;
    for( size_t i=0; i!=n; ++i )
    {
        unsigned ai;
        cin >> ai;
        result = gcd( result, ai );
    }

    for( size_t i=0; i!=n; ++i )
    {
        unsigned bi;
        cin >> bi;
        cout << result*bi << '\n';
    }
}
2021-11-28 16:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507674-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.478374 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved