一个直角三角形的周长是120的话,那么它的三边可以是20,48,52,或者24,45,51,还有30
答案:1 悬赏:0 手机版
解决时间 2021-03-05 21:27
- 提问者网友:我一贱你就笑
- 2021-03-05 05:15
一个直角三角形的周长是120的话,那么它的三边可以是20,48,52,或者24,45,51,还有30
最佳答案
- 五星知识达人网友:孤老序
- 2021-03-05 06:33
有很多可以优化的。我这里完全没有用。超时了再找我把
#include
#include
#include
#define MAXLEN 100000
int res[MAXLEN];
void generate(){
memset(res,0,sizeof(res));
int th;
for(int i = 1;i < MAXLEN / 3;++ i){
for(int j = i;j < MAXLEN / 3;++ j){
th = sqrt(i * i + j * j);
if(th * th == i * i + j * j && i + j + th < MAXLEN) {
res[i + j + th] ++;
}
}
}
}
int main(){
int T,A;
scanf("%d",&T);
generate();
for(int i = 0;i < T;++ i){
scanf("%d",&A);
printf("%d\n",res[A]);
}
return 0;
}追问不行,为什么我复制过去运行不了,好人,你优化一下给个截图看看
#include
#include
#include
#define MAXLEN 100000
int res[MAXLEN];
void generate(){
memset(res,0,sizeof(res));
int th;
for(int i = 1;i < MAXLEN / 3;++ i){
for(int j = i;j < MAXLEN / 3;++ j){
th = sqrt(i * i + j * j);
if(th * th == i * i + j * j && i + j + th < MAXLEN) {
res[i + j + th] ++;
}
}
}
}
int main(){
int T,A;
scanf("%d",&T);
generate();
for(int i = 0;i < T;++ i){
scanf("%d",&A);
printf("%d\n",res[A]);
}
return 0;
}追问不行,为什么我复制过去运行不了,好人,你优化一下给个截图看看
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯