【HDU】1017 A Mathematical Curiosity

问题描述
给定两个整数n和m,计算整数对(a,b)的个数,使得0 <a <b <n和(a ^ 2 + b ^ 2 + m)/(ab)是一个整数。

这个问题包含多个测试用例!

多输入的第一行是一个整数N,然后是一个空行,后跟N个输入块。每个输入块都采用问题描述中指定的格式。输入块之间有空行。

输出格式由N个输出块组成。输出块之间有空行。
 

输入
您将在输入中获得一些案例。每个案例由包含整数n和m的行指定。输入的结束由n = m = 0的情况表示。您可以假设0 <n <= 100。
 

产量
对于每种情况,请打印案例编号以及满足给定属性的对(a,b)的数量。按照下面的格式在一行上打印每个案例的输出。
 

示例输入
 
 
1 10 1 20 3 30 4 0 0
 

示例输出
 
 
案例1:2 案例2:4 案例3:5

这道题提交了几次一直没有A掉,不知道问题出在哪里了,测试没有问题,我觉得可能是格式的问题,所以希望读者参考的同时能帮忙指正。

#include <stdio.h>

int main() {
    int n,m,a,b,cas,num,N;
    scanf("%d\n",&N);
    while(N--)//for(k=0;k<N;k++)
    {
        cas=1;
        while (scanf("%d %d",&n,&m) && n!=0 && m!=0) {
            num=0;
            for(a=2;a<n;a++)
            {
                for(b=1;b<a;b++)
                {
                    if((a*a+b*b+m)%(a*b)==0)
                        num++;
                }
            }
            printf("Case %d: %d\n",cas++,num);
        }
        if(N!=0)
            printf("\n");
    }
    return 0;
}

这个是一个正确的答案,大家可以参考一下:http://blog.csdn.net/huanhuanxiaoxiao/article/details/52182674

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值