ホームページ  >  記事  >  ウェブフロントエンド  >  Codeforces ラウンド #282 (ディビジョン 2)-B。モジュラー方程式_html/css_WEB-ITnose

Codeforces ラウンド #282 (ディビジョン 2)-B。モジュラー方程式_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:52:221094ブラウズ

モジュラー方程式

テストごとの制限時間

1 秒

テストごとのメモリ制限

256 メガバイト

入力

標準入力

出力

標準出力

先週、Hamed彼は数学の授業でモジュラー方程式と呼ばれる新しいタイプの方程式について学びました。 i を j で割った余りとして i モジュロ j を定義し、それを で表しましょう。ハメドの先生が説明したように、モジュラー方程式は、a と b が 2 つの非負の整数、x が変数である形式の方程式です。方程式の解を正の整数 x と呼びます。

ハメドは映画を見ていたため、授業にあまり注意を払いませんでした。彼はこれらの方程式の定義を理解することができただけです。

今、彼は数学の練習問題を書きたいと考えていますが、その方法がわからないので、あなたに助けを求めました。彼はモジュラー方程式について知っていることをすべて話し、2 つの数値 a と b を与えてモジュラー方程式の答えの数を決定するプログラムを書くように頼みました。

入力

入力の唯一の行に 2 つのスペースを入れてください。区切られた整数 a と b (0?≤?a,?b?≤?109) が与えられます。

出力

方程式の答えが無限にある場合は、「infinity」と出力します (引用符は付けません)。 。それ以外の場合は、モジュラー方程式の解の数を出力します。

サンプル テスト

入力

21 5

出力

input

9435152 272

出力

282

入力

10 10

出力

infinity

注意

最初のサンプルでは、​​モジュラー方程式の答えは 8 と 16 です。


题意:给出a,b,


分析: 暴力可能。 a % x == b 有(a - b) % x == 0、つまりはa -前提として、x は整数ですが、x > が十分である必要があることに注意してください。 b(余数比除数小),当a

AC代コード:


#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>#include <time.h>using namespace std;#define INF 0x7fffffffint main(){    #ifdef sxk        freopen("in.txt","r",stdin);    #endif    int a, b, ans;    while(scanf("%d%d",&a, &b)!=EOF)    {        ans = 0;        if(a < b) puts("0");        else if(a == b) puts("infinity");        else{            int x;            for(x=1; x*x<a-b; x++){                if((a-b) % x == 0){                    if(x > b) ans ++;                    if((a-b)/x > b) ans ++;                }            }            if((a-b) == x*x && x > b) ans ++;            printf("%d\n", ans);        }    }    return 0;}



Python版:


a, b = map(int, raw_input().split())if a == b:  print 'infinity'elif a < b:  print 0else:  a -= b  i = 1  ans = 0  while i*i <= a:    if a % i == 0:      if i > b:        ans += 1      if a/i > b and i*i != a:        ans += 1    i += 1  print ans





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。