一个数学问题

来源:互联网 发布:知世与艾利欧 艾知 编辑:程序博客网 时间:2024/06/10 01:57

题目描述

给你两个整数n和m,请你计算有多少个整数对(a,b)满足以下条件:
当0<a<b<n时,(a^2+b^2+m)/(ab)是一个整数。

输入格式

输入包含多组测试数据。每组输入为两个整数n和m(0<n<=100),当n=m=0时,输入结束。

输出

对于每组输入,输出样例标号和满足要求的整数对的个数。

样例输入

10 1
20 3
30 4
0 0

样例输出

Case 1: 2
Case 2: 4

Case 3: 5

#include <iostream>#include <math.h>using namespace std;int main(){    int m, n, i, j, sum, fa,count = 0;    double x;    while(1)    {        sum = 0;        count++;        cin>>n>>m;        if(n == 0&&m == 0)        {            break;        }        for(i = 1; i < n; ++i)        {            for( j = 1; j < i; ++j)            {                x = pow(i,2) + pow(j,2) + m;                fa = i * j;                if(x/fa - (int)(x/fa) == 0)                    sum ++;            }        }        cout<<"case "<<count<<": "<<sum<<endl;    }    return 0;}


0 0