问题标题: 酷町堂:2881 互质的数之和

0
0
已解决
童梦圆
童梦圆
资深守护
资深守护

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long x,n,num=0,flag;
    cin>>x>>n;
    for(int i=2;i<=n;i++)
    {
        flag=0;
        if(x%i==0||i%x==0)
        {
            continue;
        }
        for(int j=2;j<=sqrt(i);j++)
        if(x%j==0)
        flag=1;
        for(int k=2;k<=sqrt(x);k++)
        if(i%k==0)
        flag=1;
        if(flag==0)
        {
            num=num+i;
        }
    }
    cout<<num<<endl;
    return 0;
}

 

0分

童梦圆在2019-08-28 16:27:53追加了内容

http://judge.codingtang.com/problem/2881/


0
已采纳
张韬
张韬
资深守护
资深守护
先写函数

using namespace std;
bool f(int i,int x){
    int r=i%x;
    while(r!=0){
        i=x;
        x=r;
        r=i%x;
    }
    if(x==1)
        return true;
    return  false;
}

主函数

int main(){
    int x,n,s=0;
    cin>>x>>n;
    for(int i=1;i<=n;i++){
        if(f(i,x))
            s+=i;
    }
    cout<<s;
    return 0;
}

被忘了文件头

#include <iostream>

望采纳,谢谢!!!

0
童梦圆
童梦圆
资深守护
资深守护

@张稻 能说下函数的思路吗,若讲必采纳

0
0
张韬
张韬
资深守护
资深守护

函数的主要思路就是辗转相除法求最大公因数是不是1

我要回答