题目:在屏幕上输出m以内所有满足要求的数。要求:该数除了1和本身之外所有的因子只和为n,如果不满足条件的数则输出“no such number
”题目:在屏幕上输出m以内所有满足要求的数。要求:该数除了1和本身之外所有的因子只和为n,如果不满足条件的数则输出“no such number
输入形式:m n
输出形式:除了1和本身之外所有的因子只和为n 或 no such number
样例输入:200 30
样例输出:32 125 161
#include <stdio.h>
#include <math.h>
int main()
{
long m, n,s,sum=0,k=0;
int i,j;
scanf("%ld", &m);
scanf("%ld",&n);
for (i = 1; i <=m ; i++)
{
s = 0;
for ( j = 1; j <= sqrt(i); j++)
{
if (i % j == 0)
if (j == i/j)
s += j;
else
s = s + j + i/j;
}
sum = s-i-1;
if (n == sum)
{
printf("%ld\n\n", i);
k++;
}
}
if (k==0)
{
printf("no such numbers\n");
}
return 0;
}