プログラミングのお題スレ Part14

■ このスレッドは過去ログ倉庫に格納されています
2019/05/18(土) 17:33:29.45ID:BWmpW4IF
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1549160513/
2019/05/30(木) 20:22:38.83ID:JBeAmq0Y
お題: sin, cos を用いてお題を作成せよ
2019/05/30(木) 20:26:45.68ID:zjW7i8/A
eをネイピア数とした時
e^(iθ) ≠ cosθ + i sinθ
となる事を証明せよ
2019/05/30(木) 20:35:25.37ID:7cnHmzOq
ん~、じゃあ
sin, cos を実装せよ
2019/05/30(木) 22:02:46.02ID:8+NCnZcE
>>173
オイラーの公式なめてんの?
2019/05/30(木) 22:10:08.81ID:mWdPfVjS
>>175
exp(iθ)=cosθ+isinθだけど(2.71828...)^(iθ)は多値関数だよ
2019/05/30(木) 22:23:36.25ID:mWdPfVjS
>>176
多値じゃなくて多価
2019/05/30(木) 23:36:43.35ID:0JxSfYBl
^はxorだからな。そりゃ違うさ。
2019/05/30(木) 23:40:43.53ID:rhzd9E8p
お題:テーブル方式でcos/sin関数をテキトーに自作セヨ。
2019/05/30(木) 23:54:33.59ID:J5ONVYE0
>>179
cos := (1 0)(round abs fdivmod 2 * $a Math.PI) * (sgn $a);
sin := (0 1)(round abs fdivmod 2 * $a Math.PI) * (sgn $a);
2019/05/31(金) 00:55:18.43ID:t9s7pmzY
ああこりゃ多価関数の意味を知らないバカだな
2019/05/31(金) 01:02:49.06ID:6bzo9swJ
複素数の指数関数や対数関数は多価関数だろ
馬鹿はお前だ
2019/05/31(金) 01:38:23.70ID:4Atryqh8
指数関数は多価じゃないよ、何言ってんの
2019/05/31(金) 05:30:51.21ID:Rd2VdfQd
>>183
寝言はねえから言えよクズ
z^w := exp(w * log(z))
log(z) が多価関数なんだから一般にz^wも多価関数だっつーの
死ねよ雑魚が

https://en.wikipedia.org/wiki/Exponential_function
> We can then define a more general exponentiation:
>
> {\displaystyle z^{w}=e^{w\log z}} z^{w}=e^{w\log z}
> for all complex numbers z and w. This is also a MULTIVALUED function, even when z is real.
2019/05/31(金) 05:49:38.41ID:C3HpXD20
>>184
出典がwikiとかありえねーよwww
wikiにそう書いてあるからってそれが正しいとは限んねえだろバーカ
2019/05/31(金) 06:17:16.52ID:4Atryqh8
>>184
第一の意味での指数関数、つまり f′(z) = f(z), f(0)=1 を満たす f(z) = exp(z) は当然多価関数じゃない。

第二の意味での「指数関数」、つまり複素数の複素数乗 f(z, w) = z^w は、引用してくれたとおり exp の「逆関数」 log を使って f(z, w) = exp(w log z) と定義するけど、
log は主値を取るものとして(つまり定義域を制限した exp の真の意味での逆関数として)定義すれば log w も f(z, w) もちゃんとした関数になる。そうでなければどちらも多価関数になる。

多価関数って要は関数じゃない(写像ではない)から、少なくとも一般的な計算には使わないよね。多価の asin x や多価の √x なんて使わないでしょ?
2019/05/31(金) 06:53:54.48ID:BfGYI+kd
>>186
主値を取る場合はLogなりp.v. fなりきちんと明示するのが少なくとも解析屋の間ではルールだよ
他の分野の人は知らないけど
2019/05/31(金) 07:16:05.79ID:LXc8d8Er
>>170
> 歌を歌う
歌うには「歌を」と言う意味は含まれてないから歌を歌うと言うのは別におかしくないよ
> 舞を舞う
も同様
2019/05/31(金) 07:32:11.07ID:E12bWjgi
>>164 Python sympy

from sympy import *
print(factorint(150))
#{2: 1, 3: 1, 5: 2} 2*3*5**2 を示す
2019/05/31(金) 12:16:09.80ID:ihIFj/V/
>>188
和語として語源同一なんだけど。
意外なものでは「くさい」と「くそ」「明かり」と「開ける」も同一語源。
2019/05/31(金) 14:15:19.33ID:rnSTXr8b
数学の問題なんて、センター入試問題でも解いてこいよ。 手を抜きすぎだぞ。 もっと面白くひねれよ。
192デフォルトの名無しさん
垢版 |
2019/05/31(金) 20:50:13.55ID:/Dlwa3kC
>>164
Haskellを元にPython。
素数じゃ無いと判定した時点でループ抜けるとかしたら、そこそこ速くなった。
https://ideone.com/3L1N23
2019/05/31(金) 23:54:43.29ID:fDsN7sSa
センターなんて数学じゃなくて算数でしょ
194デフォルトの名無しさん
垢版 |
2019/06/01(土) 05:45:08.23ID:uuPo6pHP
面白いお題がないかと文句を言う前に
進んで面白いお題を書きましょう
2019/06/02(日) 10:12:21.99ID:kAC27lYz
>>192 python sympy

from sympy import *
import time
time_sta = time.perf_counter()
ans=factorint(13999)
time_end = time.perf_counter()
print(ans,'{:.7f}ms'.format((time_end-time_sta)*1000))

#{13999: 1} 0.0283330ms

同じpython でも餅は餅屋なんだろうな。
因みに、13999**2 を求めると
#{13999: 2} 0.4635000ms

iPhone Xs Max Pythonista3.2 Python3.6.5 sympy 0.4.7.1
2019/06/02(日) 15:03:12.02ID:c9LZ9fJN
>>192>>164向けの回答としては問題ない。

しかし、一般的な素因数分解としては問題が。
大きな素数が対象のとき、実行時間がひどい結果になっている。
たとえば有名な素数1000000007(10億7)をやると....
(前スレ988の制約範囲内くらい、普通にできる形が望ましい)

pythonで手を抜いた一般的な素因数分解でも
10^12くらいは1秒以内に出る。(10^12+39が近場の素数)
197195
垢版 |
2019/06/02(日) 18:27:22.13ID:Hxta4mKu
>>196 python sympy
{1000000007: 1} 0.2255000ms
198195
垢版 |
2019/06/02(日) 18:41:56.81ID:Hxta4mKu
>>196 同一環境での比較。

n= 13999 ans= {13999: 1} time=0.0135830ms
>>192 を実行
n= 13999 ans= [13999] time=152.4304170ms
2019/06/03(月) 00:41:43.81ID:u5qwV1AY
>>198
192の解が一般解としてはひどいすぎるってことでしょ。
10億7どころか、百万台の素数もキツイ。
2019/06/03(月) 03:39:17.26ID:4uiCu3lL
お題:↓の画像のようにコンソール画面に雨を降らせなさい
https://i.imgur.com/wR1mNu5.gif
2019/06/03(月) 12:16:50.21ID:V0dR4GNy
>>164 pythonわかってない俺がpythonで
https://ideone.com/7j8Gz8
202デフォルトの名無しさん
垢版 |
2019/06/03(月) 21:33:09.94ID:CuEu7mic
>>164
Kotlin
https://paiza.io/projects/65lAktSm6rjmcVdxSlaLSQ

ただループ回すだけじゃ芸がないと思って素数を返すイテレータのクラス作ってやってみた。
(素数をバッファリングもすればもっと無駄がなかったなとは思ったがそれはやってない)。
2019/06/04(火) 06:42:47.26ID:7qxdZD6A
>>185
Wikiが正しいとは限らないからと言って、wikiが間違っている前提で反論するバカの見本
204195
垢版 |
2019/06/04(火) 07:17:53.03ID:/ArpXH0n
>>201 jupyter で測ってみた。結構早い。

[1000000007]
CPU times: user 2.28 ms, sys: 0 ns, total: 2.28 ms
Wall time: 2.25 ms

[1000000000039]
CPU times: user 99.8 ms, sys: 0 ns, total: 99.8 ms
Wall time: 107 ms

[2, 3, 3, 5, 7, 11, 13, 17, 29]
CPU times: user 76 µs, sys: 0 ns, total: 76 µs
Wall time: 78.7 µs

[2, 3, 3, 5, 7, 11, 13, 17, 29, 1000000007]
CPU times: user 3.53 ms, sys: 0 ns, total: 3.53 ms
Wall time: 3.54 ms
2019/06/04(火) 07:56:52.47ID://1XsOfQ
素数は、平方根までの素数で割って、割り切れなければ素数だろ

[2,3,5,7,11,13...] みたいに、素数表に追加していく途中で、
例えば、103 なら、11 までの素数で割って、割り切れなければ素数

13以降の素数で割る必要はない

もし13で割り切れるなら、13 * n = 103
となり、n は、√103 よりも、小さくなるから、既に割り切れているはず!
2019/06/04(火) 08:11:49.19ID:e9k+jtYr
>>205
例のRubyバカはこのスレにも出没するのか
2019/06/04(火) 09:07:39.39ID:QWQyVZWL
誰もRubyの話なんてしてないやろ
2019/06/04(火) 09:27:19.41ID:u+S7EiZ9
日頃の行いがなぁ…
209デフォルトの名無しさん
垢版 |
2019/06/04(火) 10:23:22.04ID:prB+PlYz
>>185
間違いとも限らない。

書かれていることを鵜呑みにするのは間違いだが見もしないで頭ごなしに間違いと決めつけるのも間違い。
210202
垢版 |
2019/06/04(火) 10:27:05.50ID:prB+PlYz
>>205
なるほど。暇があったらそれも考慮しよう。
2019/06/04(火) 11:04:03.94ID:Hzpqs43L
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる    
https://pbs.twimg.com/media/D8I_lOtVUAE8t0O.jpg  
  
@ スマホでたいむばんくを入手   
A 会員登録を済ませる   
B マイページへ移動する     
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)    
     
今なら更に4日18時までの登録で2倍の600円の紹介金を入手 
クオカードとすかいらーく優待券を両方ゲットできます。  
    
かんたんに入手できますのでご利用下さい    
2019/06/04(火) 13:01:01.36ID:XXr8i2SB
>>211
あとで一万円の請求が来るらしい
2019/06/04(火) 13:24:26.77ID:RxG/e7Cf
>>211
バラまきキャンペーン乙。
2019/06/05(水) 02:49:29.97ID:TK4G9YGK
>>200 Ruby
# エスケープシーケンスが有効な環境
print "\e[1;1;H\e2" # "\ec"
while true
print 79.times.inject(''){|s| s += (rand(20) >= 19)? '|' : ' ' }, "\n\e[1T\eM"
sleep 0.1
end
215デフォルトの名無しさん
垢版 |
2019/06/05(水) 19:02:11.80ID:xAyG9V/M
お題:2次元関数を図示したとき網目状になる関数を示せ。
2019/06/05(水) 19:05:56.09ID:JxAz00LY
網目状になったら普通それは関数とは言わないんですが
2019/06/05(水) 20:21:05.87ID:4AufAgsU
>>200
https://light.dotup.org/uploda/light.dotup.org593450.gif

エスケープシーケンスのコードが行方不明だったので書き直した。
C++で書いたけど、ベターCですなぁ。
218デフォルトの名無しさん
垢版 |
2019/06/05(水) 20:26:27.13ID:Fd++qFdy
>>215
それは数学のお題では?関数の方を求めるんでしょ?図を画面に出すとかではなく。
219214
垢版 |
2019/06/06(木) 05:58:02.66ID:6h02yf6h
>>200 Ruby
# 水はねを追加
require 'io/console'
Crow, Ccol = STDOUT.winsize
print "\e[0;0H"
lines = []
while true
line = ' ' * Ccol
rand(Ccol).div(8).times{ line[rand(Ccol)] = '|' }
lines << line
print "\e[0;0H#{line}\n\e[0;0H"
if lines.size >= Crow
line = lines.shift.tr('|','w')
print "\e[#{Crow};0H#{line}\e[0;0H"
end
sleep 0.1
print "\e[0;0H\eM"
end
220デフォルトの名無しさん
垢版 |
2019/06/06(木) 18:09:53.98ID:Qxsak61t
お題

1/x + 1/2y + 1/3z = 4/3
を満たす、整数( x, y, z )の組み合わせを求めろ

ただし、x, y, z の範囲は、1 <= x, y, z <= 4 とする

答え
[ 1, 2, 4 ], [ 1, 3, 2 ], [ 2, 1, 1 ]
221デフォルトの名無しさん
垢版 |
2019/06/06(木) 20:34:48.88ID:2PaE6Est
また数学か
2019/06/06(木) 20:50:52.65ID:ZTQEoQsZ
これは数学と言うより、コンピュータの問題じゃないかな。
IEEE754の理解が必要になると思う。
223220
垢版 |
2019/06/06(木) 22:57:28.49ID:Qxsak61t
有理数・Rational クラスを使えば?

式を6倍しても良いけど
2019/06/06(木) 23:11:58.29ID:Zwi2yFYb
というか知的障害者でも64回回せば終わる問題だよな
2019/06/06(木) 23:16:57.91ID:P4iafl1G
上位大学の入試見てると問題作りってセンス出るよな
2019/06/07(金) 07:11:55.05ID:CBwJTjr/
>>222
> IEEE754の理解が必要になると思う。
釣りか?
227デフォルトの名無しさん
垢版 |
2019/06/07(金) 13:55:32.04ID:D45ggIzR
>>215
sin(x + y)*sin(x - y)=0
2019/06/07(金) 16:27:31.91ID:RHh4qcVs
>>226
誤差収束しないといけないからだと思う。
コンピュータは1/3を計算するとき工夫がいる。
229195
垢版 |
2019/06/07(金) 16:32:04.76ID:QdXw6XxC
>>228 馬鹿だろ。 6倍してみろ
2019/06/07(金) 16:36:23.22ID:CBwJTjr/
>>228
> コンピュータは1/3を計算するとき工夫がいる。
だからその工夫が>>223の言う
> 有理数・Rational クラスを使えば?
とか
> 式を6倍しても良いけど
だろ
数学的な問題は実数使っても解けないことが多いぞ
2019/06/07(金) 16:44:59.95ID:RHh4qcVs
あぁ、すまん。
暇なので愚直に解いてくるわ。
2019/06/07(金) 17:00:40.10ID:RHh4qcVs
https://ideone.com/0kIloe
愚直に解いたのでは出ないので、有理数クラスが必要だ。という話になりました。(愚鈍)
2019/06/07(金) 17:32:22.41ID:IXZHPSuO
等式を6xyz倍して、4の3乗通りの整数の組み合わせを代入して単純に比較するだけの話だよね
2019/06/07(金) 18:22:52.80ID:CBwJTjr/
>>233
まあそう言うことだわな
> 1/x + 1/2y + 1/3z = 4/3
6yz + 3xz + 2xy = 8xyz
整数演算だけでいい
2019/06/07(金) 20:25:03.39ID:itc0IrgZ
お題:相異なる25個の英大文字が与えられるので、足りない1個を出力せよ

BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X
2019/06/07(金) 20:27:51.01ID:LHJ6D3bl
>>235 ruby
$><<([?A..?Z]-gets.split(''))
2019/06/07(金) 20:28:29.84ID:LHJ6D3bl
typo
>>235 ruby
$><<([*?A..?Z]-gets.split(''))
2019/06/08(土) 00:59:14.99ID:zvJkEDj7
>>235 Perl5

for $s (BCDEFGHIJKLMNOPQRSTUVWXYZ, YIZFOADLMWCRUTGSVQKJEHNBP) {
 @a = grep{0>index$s,$_} A..Z;
 print "$s -> @a\n";
}

$ perl 14_235.pl
BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X
2019/06/08(土) 01:04:50.07ID:zvJkEDj7
>>238 Pler5 >>238 よりもう少しコンパクトでsimpleに書けた

for $s (BCDEFGHIJKLMNOPQRSTUVWXYZ, YIZFOADLMWCRUTGSVQKJEHNBP) {
 print "$s -> ", grep{0>index$s,$_} A..Z, "\n";
}
240デフォルトの名無しさん
垢版 |
2019/06/08(土) 04:54:26.27ID:t4bm4zRu
>>220
kotlinc
6倍して計算

>>> (1..4).forEach { x -> (1..4).forEach { y -> (1..4).forEach { z -> if (6.0/x+3*y+2*z==8.0) println("[$x, $y, $z]") }}}
[2, 1, 1]
>>>

答え一つだけのようだが、>>220の下に書いてある答えはなんだ?
2019/06/08(土) 05:36:07.66ID:BULhVnPP
>>240
スペース無しの1/2yを1/2*yって解釈する人間を初めて見たわ
悪意か?
242220
垢版 |
2019/06/08(土) 05:51:26.61ID:0P3wY/7I
>>223
>式を6倍しても良いけど

間違い!
6xyz 倍する

x, 2y, 3z が、分母です!
2019/06/08(土) 06:35:13.06ID:nbnKD3nO
最初から曖昧な式を書いてる出題者が最大の悪意だろ
もう無視しろよこんなサイコパス
2019/06/08(土) 06:40:21.36ID:c2kswOOS
えぇ……どこが曖昧なんだよ
無知だからって開き直るのは格好悪いわ
2019/06/08(土) 06:50:01.64ID:7Ke9leiS
>>241
悪意と言うより6.0/xとか見る限りちょっと抜けてるんだと思う
246デフォルトの名無しさん
垢版 |
2019/06/08(土) 07:48:52.33ID:jHJxbMi0
お前らでも他人の悪口言うもんなんだな
2019/06/08(土) 10:21:44.01ID:831NYUH9
>>235 Pharo/Squeak Smalltalk

| alphabet |
alphabet := Character alphabet asUppercase.
alphabet difference: 'BCDEFGHIJKLMNOPQRSTUVWXYZ'. "=> 'A' "
alphabet difference: 'YIZFOADLMWCRUTGSVQKJEHNBP'. "=> 'X' "
2019/06/08(土) 11:01:33.46ID:CjDCyQh6
>>220 Pharo/Squeak Smalltalk

| set exp |
set := Set new.
(1 to: 4) asDigitsToPower: 3 do: [:combi |
combi permutationsDo: [:permu | set add: permu copy]
].
exp := [:x :y :z | 1/x + (1/(2*y)) + (1/(3*z))].
set select: [:permu | (exp valueWithArguments: permu) = (4/3)]

"=> a Set(#(2 1 1) #(1 3 2) #(1 2 4)) "
249195
垢版 |
2019/06/08(土) 11:07:07.66ID:gSg6KwWS
>>235 python

import string

A26 = set(string.ascii_uppercase)
print(A26.difference(set('BCDEFGHIJKLMNOPQRSTUVWXYZ')).pop()) #-> A

print(A26.difference(set('YIZFOADLMWCRUTGSVQKJEHNBP')).pop()) #-> X
250デフォルトの名無しさん
垢版 |
2019/06/08(土) 20:39:21.75ID:gCLo3iII
>>241
え?なんで?括弧なしで続けて書いたらそういう解釈にしかならんと思うが?
そうでないならその部分どう解釈するのが正解なの?
251デフォルトの名無しさん
垢版 |
2019/06/08(土) 20:40:05.48ID:gCLo3iII
>>245
全体を6倍しているからだが?
252デフォルトの名無しさん
垢版 |
2019/06/08(土) 20:41:05.12ID:gCLo3iII
>>242
それが分母ならちゃんと括弧書けよ。
2019/06/08(土) 21:10:55.53ID:7Ke9leiS
周りの人に同情するわ…w
2019/06/08(土) 21:53:10.61ID:bSq0it8T
ID:gCLo3iII ガチのガイジやんけ
2019/06/08(土) 22:03:07.94ID:CpkbOmpy
ワラタwww
2019/06/08(土) 23:58:19.51ID:nh3nMmSu
https://ideone.com/IFCJVe
3個でないよ?(愚鈍)
257デフォルトの名無しさん
垢版 |
2019/06/08(土) 23:59:56.19ID:t4bm4zRu
>>241
>>232のリンク先もそのようになっているようだが、見ていなかったか。
2019/06/09(日) 00:14:56.14ID:W8wtcQAp
>>235
AからZの文字コードの数値の総和から入力文字列の各文字の文字コードの総和を引けばいいね
2019/06/09(日) 00:16:02.81ID:SSgQq8CW
>>238
https://ideone.com/ztrBf9
わかってやってみた。ソートすんなとは書いてなかった。今は反省している。
2019/06/09(日) 00:17:23.59ID:SSgQq8CW
あ、間違えた。>>259 => >>235
ネタ振ったときにこれだよ。。。
2019/06/09(日) 00:19:22.44ID:OSjRKT39
むしろプログラマの世界で数式を書くなら、
1/(2*y) だろうな。
1/2y と書けば、普通は、(1/2) * y だろ。
2019/06/09(日) 00:24:01.37ID:SSgQq8CW
数学習った時も掛け算記号は省略できるとか習った覚えが。
あと、割り算と掛け算混ぜたときの結果は項の順番によらないかった覚えが。

寝る。
2019/06/09(日) 00:45:59.55ID:T9jyzIYI
>>261
コード書いたわけじゃなくて普通の数式やがな
それをコードに直すのがプログラマ
2019/06/09(日) 01:16:32.66ID:zgQq0a06
>>263
数式でも人が紙に書いたかのような表現が使えず1行に無理に押し込める形式にするのならそれなりの工夫が必要だ
2019/06/09(日) 01:59:59.85ID:RDMRCxQC
まず普通の人はあの表記を見ても迷わない
一京歩譲ったとして仮に迷ったとしても与えられた答えを代入すれば猿でも分かる
つまりいちゃもんつけてるのは猿未満
266デフォルトの名無しさん
垢版 |
2019/06/09(日) 02:03:55.91ID:vJOouxE6
自演乙
2019/06/09(日) 02:08:15.94ID:1JZdgA2h
人じゃないけど、参考に

wolframalpha、
https://www.wolframalpha.com/input/?i=1%2Fx%2B1%2F2y%2B1%2F3z%3D4%2F3

https://www.wolframalpha.com/input/?i=1%2Fx%2B1%2F%282y%29%2B1%2F%283z%29%3D4%2F3

google
https://www.google.com/search?q=y%3D1%2F3x

https://www.google.com/search?q=y%3D1%2F%283x%29
268220
垢版 |
2019/06/09(日) 05:40:38.30ID:rn4C+nSw
>>220
Ruby で、

ary = ( 1..4 ).to_a

# 直積・3重ループ
p ary.product( ary, ary ).select { |( x, y, z )|
Rational( 1, x ) + Rational( 1, 2 * y ) + Rational( 1, 3 * z ) == 4/3r }

#=> [[1, 2, 4], [1, 3, 2], [2, 1, 1]]
2019/06/09(日) 08:43:57.74ID:OSjRKT39
>>263 >コード書いたわけじゃなくて普通の数式やがな

普通の数式ってどこの世界での普通なんだ? 普通の数式ならそんな書き方はしないからな。
1/2y を普通の数式として解釈すれば、(1/2) * y が普通の解釈だろ。 左から順に演算されるのが普通(と言うかルール)だからな。
2019/06/09(日) 09:08:49.29ID:T9jyzIYI
左からやって普通は1割る2yだろ
普通の数式で1÷2yってあってそう解釈するか?
割る記号の変わりだろ/は
プログラムのコードじゃないぞ

一個目の1/xがないならまだわからんでもないけど
2019/06/09(日) 09:18:11.20ID:OSjRKT39
>>270 お前の普通の根拠を示してみろや。
記号が書かれてれば掛ける記号が略されてるとみなすのが普通

1/2y は1/2*y と等価 1割る2は、0.5 これが普通。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況