Problema #4110 NumarareSD de pe pbinfo. Imi da doar 60p;
#include
using namespace std;
int suma(int a)
{
int sum=0;
for(int i=1;i*i<=a;i++)
{if(a%i==0)
sum=sum+i+a/i;
if(i*i==a)
sum-=a/i;
}
return sum;
}
int main() {
int v[202],n,c=0;
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
for(int i=1;i<=n-1;i++)
for(int j=i+1;j<=n;j++)
if(suma(v[i])==suma(v[j]))
c++;
cout<.
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
Explicație:
#include <bits/stdc++.h>
using namespace std;
int main()
{
unsigned int n,a[1001]={}, b[1001]={},c=0;
long long s=0;
cin >> n;
for(int i=1;i<=n;i++){
cin >> a[i];
s=0;
for(int d=1;d*d<=a[i];d++){
if(a[i]%d==0){
s=s+d+a[i]/d;
}
if(d*d==a[i]){
s=s-d;
}
}
b[i]=s;
}
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
if(b[i]==b[j])c++;
}
}
cout<<c;
}
///Ai declarat un vector doar de 202 si tu ai n-ul cuprins intre 1<=n<=1000
Alte întrebări interesante
Religie,
8 ani în urmă
Limba română,
8 ani în urmă
Religie,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă