次のステートメントを検討してください。
いずれかの、次のいずれかが成り立ちます。 a<b∈N
- gcd(a,b)=1。
- あるa<x<bよう
gcd(a,x)=gcd(x,b)=1。
- あるa<x<y<bよう
gcd(a,x)=gcd(x,y)=gcd(y,b)=1。
この声明は本当ですか?
動機:
私は最近のアルゴリズム競技会の1つでこの問題の変形を見つけました。
次の問題を検討してください。
入力: 2つの整数aとbここでa<b。
出力:最小数l整数であるように
a=x0<x1<x2<…<xl<xl+1=b:リスト内のすべての連続する整数が互いに素であるよう
gcd(xi,xi+1)=1 for i=0,…,l。
例:
a=7,b=13:
gcd(a,b)=1、したがってl=0。
a=10,b=12:
gcd(a,b)=2≠1、したがってl≥1。シーケンスは、とする10,11,12。gcd(10,11)=1,gcd(11,12)=1。
a=2184,b=2200:ようなはありません。ただし、この問題を満たす整数を見つけることができます。a<x<bgcd(a,x)=gcd(x,b)=12
アルゴリズムが評価される参照アルゴリズムがあります。そのアルゴリズムは、
条件を満たすは常に存在します。l
l≤2。
それらが真実である理由がわかりません。
どちらも想定していない多項式時間アルゴリズムがあります。参照アルゴリズムと比較して漸近的なパフォーマンスを失うことはありませんが、仮定の妥当性を理解して証明できれば、パフォーマンス定数を大幅に下げることができます。