#include<stdio.h>
int main(){
int a,b,c;
int total=0;
int n;
int T;
int i;
int d;
int e;
int f;
scanf("%d",&T);
for(n=2,i=1;i<=T;i++){
scanf("%d%d",&a,&b);
while(n^2<a&&n^2<b){
n++;
}
while(n^2>a&&n^2<b||n^2>b&&n^2<a){
total=total+n^2;
n++;
}
printf("%d",total);
if(n^2>a&&n^2>b){
c=0;
printf("%d",c);
}
if(a>1&&a<=3&&b>1&&b<=3){
d=0;
printf("%d",d);}
if(a>=1&&a<=3&&b>=1&&b<=3){
e=1;
printf("%d",e);}
if(a==0&&b==0){
f=0;
printf("%d",f);
}
}
return 0;
}
#include
int main(){
int a,b,c;
int total=0;
int n;
int T;
int i;
int d;
int e;
int f;
scanf("%d",&T);
for(n=2,i=1;i<=T;i++){
scanf("%d%d",&a,&b);
while(n^2<a&&n^2<b){
n++;
}
while(n^2>a&&n^2<b||n^2>b&&n^2<a){
total=total+n^2;
n++;
}
printf("%d",total);
if(n^2>a&&n^2>b){
c=0;
printf("%d",c);
}
if(a>1&&a<=3&&b>1&&b<=3){
d=0;
printf("%d",d);}
if(a>=1&&a<=3&&b>=1&&b<=3){
e=1;
printf("%d",e);}
if(a==0&&b==0){
f=0;
printf("%d",f);
}
}
return 0;
}
建議直接把1000以內的完全平方數列在一個陣列中
然後用if去判斷a b 範圍內的完全平方數是否在陣列中
應該就不會TLE了吧
建議直接把1000以內的完全平方數列在一個陣列中
然後用if去判斷a b 範圍內的完全平方數是否在陣列中
應該就不會TLE了吧
比如
int squares[] = { 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961}; // size = 31