数太大unsigned long long也数出不了
#include"stdio.h"#include"stdlib.h"
#include"math.h"
int main()
{
unsigned long long int P,s,n=1,k,i=0,m,y,sp=0;
scanf("%llu",&k);
do{
s=pow(2,n)-1;
P=pow(2,n-1)*s;n++;
for(m=2;m<=s;m++){
if(s%m==0){break;}
}if(m==s){m=1;}else{continue;}
for(m=1;m<P;m++){
if(P%m==0){
sp+=m;
}
}if(sp==P){m=1;i++;}else{i++;continue;}
}while(i<k);
printf("%llu=%llu*%llu",P,P/s,s);
return 0;
}
输入6以后就不行了,求解决!!!