标题:错在哪
只看楼主
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
结帖率:71.43%
 问题点数:0 回复次数:2 
错在哪



沫沫,灰灰和渣渣去锻炼身体,如果对他们跑步的距离分别只计整数 a、 b、 c,由于他们身高的差距,造成了 a<=b<=c,并且渣渣跑了N米之后就再也跑不动了。但是,按照他们事先的约定: 只有当 c*c==a*a+b*b 时,他们的锻炼才有效果。

现在他们三个人想知道,如果渣渣的极限N已知,那么有多少种有锻炼效果的跑步方案(即a, b, c有多少种可能的取值)。


输入格式:

一个整数N,表示渣渣的体力极限, N <= 5000。


输出格式:

一个整数,代表他们跑步方案的个数。

Hint:对于输入N=5,有方案 a=3, b=4, c=5, 共一种。


输入样例:

5


输出样例:
1













#include <stdio.h>  
#include <stdlib.h>  
 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */  
 
int main(int argc, char *argv[]) {  
    int N;
    scanf("%d",&N);
    int k=0,i1,i2;
    for(i1=N-1;i1>=1;i1--){
        for(i2=N-1;i2>=1&&i2<=i1;i2--){
            if(N*N==i1*i1+i2*i2){
                k++;
            }
        }
    }
    printf("%d",k);
   
    return  0;
}
搜索更多相关主题的帖子: 输入 int 方案 整数 for 
2019-11-14 20:16
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
1、scanf后面再定义变量,这不符合纯C的语法。
2、按你的思路,N为10的时候,i1=9试过以后试算到i1=8,接下来i2会老老实实干活么?

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-11-14 20:55
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:0 
for(i2=N-1;i2>=1&&i2<=i1;i2--)
应该改成for(i2=il;i2>=1;i2--)

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-11-14 21:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497813-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017813 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved