7-3 缘分数 (20 分)
#include<stdio.h>
#include<math.h>
int main(){
int m,n;
scanf("%d %d",&m,&n);
int num=0;
for(long long i=m;i<=n;i++){
long long temp=pow(i,3)-pow(i-1,3);
for(long long j=1;j<25000;j++){
if(temp==pow(j*j+(j-1)*(j-1),2)){
if(j!=i){
printf("%lld %lld\n",i,j);
num++;
}
}
else if(temp<pow(j*j+(j-1)*(j-1),2)){
break;
}
}
}
if(num==0) printf("No Solution");
return 0;
}
坑在于如果不判断j!=i 那么 1 1会被当成一堆缘分数 导致答案错误
用long long我是怕三次方超过int范围