Cod sursa(job #1018337)

Utilizator leontinLeontin leontin Data 29 octombrie 2013 13:25:07
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include<fstream>
#include<math.h>
using namespace std;

	ifstream f("ssnd.in");
	ofstream g("ssnd.out");

void fun(int a,int &nr,int &s)
{
int i;
nr=0;
s=0;
for(i=1;i<=a;i++)
	if(a%i==0)
	{
		nr++;
		s=s+i;
	}
}

int main()
{
	int n,i,nr,s,v[100],num[100],max,c;

	f>>n>>v[1];
	max=v[1];
	for(i=2;i<=n;i++)
	{
			f>>v[i];
			if(max<v[i])
				max=v[i];
	}
	for(i=1;i<=98;i++)
		num[i]=0;
	for(i=2;i<=max;i++)
	{
		if(num[i]==0)
		{
			c=i+i;
			while(c<=max)
			{
				num[c]=1;
				c=c+i;
			}
		}
	}
for(i=1;i<=n;i++)
	if(num[v[i]]==0)
		g<<2<<" "<<v[i]+1<<endl;
	else
	
	{
		fun(v[i],nr,s);
		g<<nr<<" "<<s<<endl;
	}
	f.close();
	g.close();
	return 0;
}