输出不了?????????
原题链接:410.最大公约数之和2024-05-29 20:25:40
发布于:广东
#include <bits/stdc++.h>
using namespace std;
int GCD(int a,int b)
{
int c=min(a,b),d=0;
for(int i=1;i<=c;i++)
{
if(a%i==0 and b%i==0)
{
d=i;
}
}
return d;
}
int sum_gcd(int n)
{
int gg=0;
int b[0x3f3f3f],number=0;
for(int i=1;i<=n;i++)
{
if(n%i==0)
{
b[number]=i;
number++;
}
}
for(int i=0;i<number;i++)
{
int d=GCD(b[i],b[i+1]);
gg=gg+d;
}
return gg;
}
int main()
{
int n;
cin>>n;
int gg=sum_gcd(n);
cout<<gg;
return 0;
}
全部评论 3
参考:https://www.yuque.com/marcowang/tgcv6l/ft1z61n3c5lubw1o?singleDoc# 《【解答】A410.最大公约数之和》
2024-05-29 来自 新加坡
1正确答案:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int a[10001];
int main(){
int n,sum=0,idx=0;
cin>>n;
for(int i=1;i<=n;i++){
if(n%i==0){
a[idx++]=i;
}
}
for(int i=0;i<idx;i++){
for(int j=i+1;j<idx;j++){
sum+=__gcd(a[i],a[j]);
}
}
cout<<sum;
return 0;
}2025-07-22 来自 广东
0考虑入团吗 https://www.acgo.cn/application/1776484607864774656
2024-05-29 来自 北京
0
有帮助,赞一个