栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

计蒜客:互质数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计蒜客:互质数

计蒜客:互质数

给出 nn 个正整数,任取两个数,有多少种选法使得选出的两个数互质。

输入格式
第一行是一个正整数 n(n≤600)。

第二行是 n 个整数,相邻两个整数之间用单个空格隔开,整数在 [1,1000] 范围内。

输出格式
一个整数,即互质数组合的个数。

输出时每行末尾的多余空格,不影响答案正确性

样例输入
7
3 5 7 9 11 13 15
样例输出
17

做这题之前我们需要先知道互质数的意义
互质数:互质数指的是两个或多个整数的公因数只有1的非零自然数,公因数只有1的两个非零自然数。

那么如何去判断是否是互质数呢,其实很简单,学过如何判断最大公约数就知道辗转相除法这个东西,如果两数没有最大公约数那么两数的公约数就只有1,所以这道题目的意思就是gcd(a,b)==1。
从题意来看,学过深度优先搜索(以下简称深搜)的一般都会优先想到深搜,但由于这道题的数据较小,我们可以直接使用循环遍历就好了。
代码如下所示:

#include
#include
using namespace std;
int a[601];
int n;
int ans=0;
    int gcd(int x,int y)
    {
        if(x%y==0) return y;
        else
            return gcd(y,x%y);
    }
    int main()
    {
        cin>>n;
        for(int i=0;i>a[i];
       for(int i=0;i 
由于是第一次发文章,排版方面可能有些问题,请大家见谅。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号