竞赛
考级
法兰西玫瑰
潜龙暗虎
求最大公约数用gcd函数,代码如下: #include<iostream> #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; }
变鸽的一只呱
majmDZB
庞文昊
#include <bits/stdc++.h> using namespace std; int a[10001]; int n,k=0,ans=0,i=1; void cch(int n,int a[]) { int m=1; for(int i=1;i<=n;i++) if(n%i0) a[m]=i,m++; } int zdgysh(int a,int b) { for(int i=a;i>=1;i--) if(a%i0&&b%i==0) return i; } int main(){ cin>>n; cch(n,a); while(a[i]!=0) k++,i++; for(int i=1;i<k;i++) for(int j=i+1;j<=k;j++) ans+=zdgysh(a[i],a[j]); cout<<ans<<endl; return 0; }
Voldemort
ACOI
回来看看
纯暴力
复仇者_纳西妲厨一位
Maximus
dchk-SY
准
JMZ詹总
#include<bits/stdc++.h> 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; }
TellorChen
枫岚
AC坤