アビオニクスOJ1017

ACことができ、実際の暴力を計算することが一見困難

出力説明主題を形成することに注意してください

N個のブロックに分割されたブロックを、各ブロック構成内のデータの任意のセットを読み出すときに、N = 0、M = 0、ブロックが解除され、そしてライン間スペース。出力は「ケースはX:Y」であります

問題の説明

二つの整数所与nおよびm、整数の対の数(B)をカウント0 <a <B <n及び(ように、2 + B 2 + M)/(A-B)は整数です。

この問題は、複数のテストケースが含まれています!
複数の入力の最初の行は、整数N、N入力ブロックが続く空白行です。各入力ブロックは、問題の説明に示されている形式です。入力ブロック間の空白行があります。
出力形式は、N個の出力ブロックから成ります。出力ブロックの間に空白行があります。

入力

あなたは、入力中に例数が与えられます。各ケースは、整数nとmを含む行で指定されています。入力の終了は、N = M = 0あなたは、0 <N <= 100と仮定してもよいした場合で示しています。

出力

各場合について、ケース番号、ならびに特定のプロパティを満たす対の数(B)を印刷します。以下に示すようなフォーマットの1本のライン上の各ケースの出力を印刷します。

サンプル入力

1

1 10
20 3
30 4
0 0

サンプル出力

ケース1:2
ケース2:4
ケース3:5

要旨:

二つの整数nおよびmが与えられると、対の整数(B)を算出するようには0 <a <B <N、および(^ 2 + B ^ 2 + M)/(A-B)は整数です。

この問題は、複数のテストケースが含まれています!

入力Nの複数の最初の行は、N個の入力ブロックが続く整数、次に空白行です。各入力ブロックは、フォーマット指示問題に記載されています。入力ブロックの間に空白行があります。

出力形式ブロックからN個の出力。出力ブロックの間に空白行があります。
エントリ
の入力は例数を提供します。行によって指定されたそれぞれの場合は、整数nおよびmが含ま。場合N = M = 0によって入力の終了。あなたは0 <N <= 100をとることができます。
出力
ログ(a、b)は、それぞれの場合のために、ケース番号、および印刷満たす指定されたプロパティ。以下に示すように、上の印刷の各場合1つのラインの出力。

ACコードを接続します
#include <iostream>
#include<stdio.h>
using namespace std;

int main()
{
    int N;
    scanf("%d",&N);
    while(N--){
        int i=1;
        while(i){
            int n,m;
            scanf("%d %d",&n,&m);
            int sum=0;
            if(n==0&&m==0)
                break;
            for(int a=1;a<n;a++)
                for(int b=a+1;b<n;b++)
                   if((a*a+b*b+m)%(a*b)==0)
                        sum++;
            printf("Case %d: %d\n",i,sum);
            i++;
        }
        if(N)
            printf("\n");
    }
    return 0;
}

リリース5元の記事 ウォン称賛14 ビュー607

おすすめ

転載: blog.csdn.net/qq_43732324/article/details/103207956