| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 827 人关注过本帖
标题: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
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册: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
快速回复:gcd问题怎么解?
数据加载中...
 
   



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

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