• C语言编程练习24:一个数学问题


    题目描述

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

    输入

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

    输出

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

    样例输入 Copy

    10 1
    20 3
    30 4
    0 0

    样例输出 Copy

    Case 1: 2
    Case 2: 4
    Case 3: 5

    思路:这道题对于来说、难的地方就是判断是否为整数了。用余数是否为0来判断是否为整数,余数为0就是整数。
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int n,m,t=0;//t用来记录是第几组数据
        int x,y;
        while(scanf("%d %d",&n,&m)!=EOF)
        {
            int c=0;//记录满足条件的整数对的个数
            if(n==0&&m==0)
            {
                break;
            }
            for(int i=1;i<n-1;i++)
            {
                for(int j=i+1;j<n;j++)
                {
                    x=i*i+j*j+m;
                    y=i*j;
                    if(x%y==0)//通过余数判断是否为整数
                    {
                        c++;
                    }
                }
            }
            t++;
            printf("Case %d: %d
    ",t,c);
        }
        return 0;
    }
    
  • 相关阅读:
    第一次个人编程作业
    软件工程博客作业1
    第一周作业
    预备作业
    没有权限访问路径
    Linux命令:pwd
    Linux命令:readonly
    Linux命令:read
    Bash:精华
    Linux命令:history
  • 原文地址:https://www.cnblogs.com/FantasticDoubleFish/p/14319133.html
Copyright © 2020-2023  润新知