鯨鯢(Keigei)
普通nケタの整数は
10^(n-1) 以上 10^n 未満の整数ですので、
1ケタには 0 を含めません。
0 を含めるようですので、
それを明示してほしいと思います。
   10月31日(木) 0:48:35     53679
消しゴムパトロール
条件2で数字を2つ選ぶ話が出ているのに、条件3で「1桁以上」とあり、この時点でかなり????でした。
   10月31日(木) 0:53:02     53680
鯨鯢(Keigei)
訂正:
普通nケタの整数は
10^(n-1) 以上 10^n 未満の整数ですので、
1ケタには 0 を含めません。
0 を含めないことを明示してほしいと思います。
   10月31日(木) 0:57:04     53681
スモークマン
0-9
1-8
2-7
3-6
4-5

1桁...9
2桁...9*8=72
3桁...9*8*6=432

9+48+432=513
2000-513=1487

so...
1487/(8*6*4)=7...143
143/(6*4)=5...23
23/4=5...3

上の表を使って...

8695

めちゃ早い方はどんなスマートな方法で? ^^;
   10月31日(木) 1:12:05     53682
ベルク・カッツェ


一桁は9通り。0は入れていません。
二桁は9×8=72、三桁は9×8×6=432、四桁は9×8×6×4=1728なので答えは四桁の数。
1728÷9=192なので、千の位を決めると四桁の数は192通り、百の位まで決めると24通り、8697が2001番目と分かるので、その前の8695が答えになりました。
計算ミスしまくって大変でした。
   10月31日(木) 1:17:17     53683
スモークマン
#53677
4色...84通りでしたか...^^;
わたしの考え方はどこかおかしいのね...Orz
   10月31日(木) 1:18:01     53684
消しゴムパトロール
条件2で数字を2つ選ぶ話が出ているのに、条件3で「1桁以上」とあり、この時点でかなり????でした。
   10月31日(木) 1:19:13     53685
ベルク・カッツェ
ルール3を「1以上」とすれば0が入らなくなりますね。
[10以上]にすれば、答えは変わってしまいますが、一桁では2つの数を比較できない不自然さが解消できます。
   10月31日(木) 1:21:44     53686
ベルク・カッツェ
#53684スモークマンさん
4^4-4-4*4*3-4*4*3*2-2*4*3=84
だと思います。
   10月31日(木) 1:36:05     53687
スモークマン
ベルク・カッツェ様
あれ...そっか...^^;
ご指摘ありがとうございました!! スッキリです Orz
   10月31日(木) 1:54:23     53688
手描き図面職人
パイソンプログラムで解いて見ました。プログラムは、
from itertools import permutations
def check_rule(num):
  digits=list(map(int,str(num)))
  if len(set(digits)) !=len(digits):
    return False
  for i in range(len(digits)):
    for j in range(i+1,len(digits)):
      if digits[i]+digits[j]==9:
        return False
  return True
satisfying_numbers=[]
for length in range(1,10):
  for perm in permutations(range(10),length):
    if perm[0]==0:
      continue
    num=int("".join(map(str,perm)))
    if check_rule(num):
      satisfying_numbers.append(num)
satisfying_numbers.sort()
print(satisfying_numbers[1999])
ChatGPT-3.5は凄いですね。
   10月31日(木) 5:45:28     53689
「数学」小旅行
4桁までで2241個ある。最高値は9676で、
そこから遡ること241個なので、8695になりました。
某外国旅行から帰国したばかりで、余裕無くて。。。今頃です。
   10月31日(木) 15:19:01     53690
「数学」小旅行
ルビーで出来合いのプログラムですが、
n=0;i=0
while n<2000
i+=1
a=i.digits
if a.uniq.size==a.size then
if !(a.include?(0)&&a.include?(9))&&!(a.include?(1)&&a.include?(8))&&!(a.include?(2)&&a.include?(7))&&!(a.include?(3)&&a.include?(6))&&!(a.include?(4)&&a.include?(5)) then
n+=1
end
end
end

p i
   10月31日(木) 17:44:46     53691