Informatică, întrebare adresată de loredanabirza8983, 8 ani în urmă

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 Springtrap99
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