0

私はSPOJ問題PGCDを解決しようとしています。これは、最大公約数のテーブルにいくつの素数が現れるかを尋ねます。

私の頭に浮かんだ最初のアイデアは、ふるい分けによって最初に素数を生成することです。

次に、各素数pについて、aとbが指定された境界よりも小さいペア(ab)がいくつ満たされている確認します。GCD(a,b)=p

たとえば、(20、20)未満のペアがGCD(a、b)= 7を満たすペアはいくつありますか?

もちろん、前述のように、abは制限されています。

では、GCDを逆にすることは可能ですか?それとも、このソリューションは完全に無効ですか?


c#で文字列配列から文字列の一部を簡単に削除する方法

私は次のコードを使用しています:

var names = ConfigurationManager.AppSettings.AllKeys.Where(k => k.StartsWith("name"));

そして私は次のようなキーを取得します:name1、name2、name16、name18。

ここで、名前を削除して1,2,16,18だけを保持する別の配列を作成したいと思います。上記のコード自体でこれを行う簡単な方法はありますか?それとも別々にそれをしますか?

4

1 に答える 1

2

明らかに、GCD 関数は可逆/可逆ではありません。たとえば、

  • GCD(10,15) == 5
  • GCD(5, 15) == 5

したがって、5 が与えられて入力を推測しようとすると、それは不可能です。

境界についてあなたが何を言っているのか理解できないので、ここで何かが欠けているかもしれませんが、問題をよりよく説明するのはあなたの責任だと思います. 正確にどのような情報を持っていて、どのような情報を計算しようとしていますか? 入力と出力の例は非常に役立ちます。また、校正とスペルチェック。

于 2012-09-05T18:27:54.863 に答える