View Code of Problem 93

#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<cstring>
#include<string>
#include<sstream>
using namespace std;
int isqm(int a)
{
	int sum1=0,sum2=0;
	for(int i=1;i<=a/2;i++)
	{
		if(a%i==0)
		sum1+=i;
	}
	for(int i=1;i<=sum1/2;i++)
	{
		if(sum1%i==0)
		sum2+=i;
	}
	if(sum2==a&&sum1!=a)
	return sum1;
	else
	return -1;
}
int main() {
	int m,n;
	cin>>m>>n;
	int k[5000];
	memset(k,0,sizeof(k));
	for(int i=m;i<=n;i++)
	{
		int h=isqm(i);
		if(h!=-1&&k[i]==0)
		{

			cout<<i<<" "<<h<<endl;
			k[h]=1;
			k[i]=1;
		}
	}
	return 0;

}

Double click to view unformatted code.


Back to problem 93