问题:求整数个数 1 < n < 10^7,其中 n 和 n + 1 具有相同数量的正因数。例如,14 具有正因数 1、2、7、14,而 15 具有 1、3、5、15。
我无法达到 10^7,因为它对 C 和我来说太大了。我如何在 C 中解决这个问题?
#include<stdio.h>
#include<conio.h>
int divisorcount(int);
int main()
{
int number,divisornumber1,divisornumber2,j=0;
for(number=1;number<=100;number++){
divisornumber1=divisorcount(number);
divisornumber2=divisorcount(number-1);
if(divisornumber1==divisornumber2){
printf("%d and %d\n",number-1,number);
j++;
}
}
printf("\nThere is %d integers.",j);
getch();
}
int divisorcount(int num)
{
int i,divi=0;
for(i=1;i<=(num)/2;i++)
if(num%i==0)
divi++;
return divi;
}