プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/
プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/
探検
プログラミングのお題スレ Part12
■ このスレッドは過去ログ倉庫に格納されています
2018/09/28(金) 10:09:07.13ID:phwOkayR
2018/09/28(金) 10:41:53.02ID:Trt/L8Tp
console.log('>>%d乙', 1);
2018/09/28(金) 10:55:48.49ID:Xb8eTiN0
3つの値の最小値を調べるには2回比較をしなくてはならないことを証明せよ
4デフォルトの名無しさん
2018/09/28(金) 12:28:47.83ID:6mi1IA73 やだ
5デフォルトの名無しさん
2018/09/28(金) 13:55:38.90ID:jm6QTuW3 >>3
3つの値のうちの最小値が分かった時の情報量はlog3
1回の比較によって得られる情報量はlog2
2回の比較で2log2=log4
log2<log3<log4なので最低2回の比較をしなければ最小値を知る事はできない
3つの値のうちの最小値が分かった時の情報量はlog3
1回の比較によって得られる情報量はlog2
2回の比較で2log2=log4
log2<log3<log4なので最低2回の比較をしなければ最小値を知る事はできない
2018/09/28(金) 14:20:38.29ID:25C/+Q0q
7デフォルトの名無しさん
2018/09/28(金) 14:26:10.16ID:6mi1IA73 ここは数学のお題を解くスレではなくプログラミングのお題スレなので証明せよというお題ならば証明をするプログラムを作れという意味になる。
決して人間が頭で考えて証明してはならない。
決して人間が頭で考えて証明してはならない。
8デフォルトの名無しさん
2018/09/28(金) 14:46:03.56ID:jm6QTuW3 3つの数単体同士の比較だけじゃなくて、a+bとcとかa^cとb+cとか無限に考えられるから有限時間で証明するのは無理では?
2018/09/28(金) 21:22:39.80ID:CwsEryp/
ID:jm6QTuW3
2018/09/28(金) 22:47:33.75ID:21310r5m
[a, b, c].min
2018/09/28(金) 23:21:12.89ID:I0zPpFv8
>>8
値と言ってるのにどこから数式が出てくるんだろう…
値と言ってるのにどこから数式が出てくるんだろう…
2018/09/28(金) 23:31:28.87ID:Trt/L8Tp
例えばR^3の関数f(x, y, z)で
xが最小の時負、xが最小でなくyが最小の時0、xかyが最小でなくzが最小の時正
になるC^∞級の関数は存在するのでこの関数を使えば比較は1回で済む
xが最小の時負、xが最小でなくyが最小の時0、xかyが最小でなくzが最小の時正
になるC^∞級の関数は存在するのでこの関数を使えば比較は1回で済む
13デフォルトの名無しさん
2018/09/29(土) 00:17:28.49ID:mZMDBHA7 >>12
例えばどんな関数?
例えばどんな関数?
2018/09/29(土) 01:00:25.54ID:SXeyKQEb
比較って値そのものの大小の比較ってとだろ
15デフォルトの名無しさん
2018/09/29(土) 01:06:03.17ID:IuTgmxg/ 比較というのは差をみつけることだからな
ココでの差は引き算の差の意味ではない、当然
数字を引き算して差を求めることもできる、当然
ココでの差は引き算の差の意味ではない、当然
数字を引き算して差を求めることもできる、当然
2018/09/29(土) 01:15:28.45ID:SXeyKQEb
17デフォルトの名無しさん
2018/10/01(月) 20:03:33.29ID:IziOBEHB お題:f(n)::={nを連続するいくつかの正整数の和として表す表し方の総数}とおく
例えば、15=7+8=4+5+6=1+2+3+4+5よりf(15)=4である
上限Nが与えられたとき、n<=Nでf(n)が奇数となるようなnをすべて足し合わせた値を求めよ
10 -> 24
100 -> 665
1000 -> 18006
10000 -> 571940
100000 -> 18010994
1000000 -> 569929080
10000000 -> 18001029437
100000000 -> 569128815672
1000000000 -> 17994029079715
例えば、15=7+8=4+5+6=1+2+3+4+5よりf(15)=4である
上限Nが与えられたとき、n<=Nでf(n)が奇数となるようなnをすべて足し合わせた値を求めよ
10 -> 24
100 -> 665
1000 -> 18006
10000 -> 571940
100000 -> 18010994
1000000 -> 569929080
10000000 -> 18001029437
100000000 -> 569128815672
1000000000 -> 17994029079715
2018/10/01(月) 20:21:00.27ID:XiA3uZUZ
> nを連続するいくつかの正整数の和として表す表し方の総数
15は7+8と4+5+6と1+2+3+4+5の3通りの表し方があって
その総数f(15)が4ってどういうこと?
15は7+8と4+5+6と1+2+3+4+5の3通りの表し方があって
その総数f(15)が4ってどういうこと?
2018/10/01(月) 20:26:01.73ID:8OIwu5Mv
>>18
自身も含まれるんじゃない?
自身も含まれるんじゃない?
2018/10/01(月) 21:52:20.39ID:RJeKuxhD
2018/10/01(月) 22:05:00.23ID:88z5+fOs
>>17
>連続するいくつかの正整数の和として表す表し方の総数
http://izumi-math.jp/sanae/MathTopic/renzokuwa/renzokuwa.htm
>1以外の奇数の約数と同じだけある
ttps://www.eikoh-seminar.com/echtas/blog/2015/10/post-224.html
>1以外の奇数の約数を何個持っているか
>連続するいくつかの正整数の和として表す表し方の総数
http://izumi-math.jp/sanae/MathTopic/renzokuwa/renzokuwa.htm
>1以外の奇数の約数と同じだけある
ttps://www.eikoh-seminar.com/echtas/blog/2015/10/post-224.html
>1以外の奇数の約数を何個持っているか
2018/10/01(月) 23:56:46.25ID:RJeKuxhD
2018/10/02(火) 20:12:32.93ID:3l+a4b56
2018/10/04(木) 17:48:26.02ID:WD/5XFit
10月の学校に着いた時間と帰った時間を平日分全部出力する(土日のみ休みで平日は必ず学校がある)
A君は神経質なので秒まで着いた時間と帰った時間をメモする
時間は任意とする。
入力例
2018/10/01 09:25:00
2018/10/01 17:30:00
出力例
入力例と同じフォーマットの形式の日付時間が平日分全て出力された後に、
今度は別のフォーマットで平日分全て出力される
出力例
2018/10/01 09:25:00
2018/10/01 17:30:00
2018/10/02 09:26:00
2018/10/02 17:24:00
:
:
:
平日のみ全部出力
:
:
別フォーマット出力例
20181001 092500
20181001 173000
A君は神経質なので秒まで着いた時間と帰った時間をメモする
時間は任意とする。
入力例
2018/10/01 09:25:00
2018/10/01 17:30:00
出力例
入力例と同じフォーマットの形式の日付時間が平日分全て出力された後に、
今度は別のフォーマットで平日分全て出力される
出力例
2018/10/01 09:25:00
2018/10/01 17:30:00
2018/10/02 09:26:00
2018/10/02 17:24:00
:
:
:
平日のみ全部出力
:
:
別フォーマット出力例
20181001 092500
20181001 173000
2018/10/04(木) 18:15:15.90ID:rW/Q6M2G
やはり10/1と10/8は平日だった
2018/10/04(木) 18:17:14.17ID:THaWokSR
日本語でおk
2018/10/04(木) 18:18:57.90ID:GgsL2+/f
勤怠記録を整形したいです と正直に言えば話が早いのに
2018/10/04(木) 19:56:11.98ID:WD/5XFit
>>27
そうなんですけど、VBAで会社にソースはあるんですけど、他の言語でも見たいんです
そうなんですけど、VBAで会社にソースはあるんですけど、他の言語でも見たいんです
2018/10/04(木) 21:05:04.35ID:THaWokSR
平日って設定要る?
文字列 "YYYY/MM/DD HH:MM:SS" をいろんなフォーマットに変換するだけの問題じゃ駄目?
なんで一旦 echo するの?
責めてるんじゃなくて単純な疑問ね
文字列 "YYYY/MM/DD HH:MM:SS" をいろんなフォーマットに変換するだけの問題じゃ駄目?
なんで一旦 echo するの?
責めてるんじゃなくて単純な疑問ね
2018/10/04(木) 22:21:43.46ID:pTnAHI9j
>>24 C++
#include <cstdio>
#include <vector>
#include <tuple>
using namespace std;
int zeller(int y, int m, int d) {
if (m < 3) {
y--;
m += 12;
}
return (y + y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + d ) % 7;
}
int main() {
vector<tuple<int, int, int, int, int, int>> v;
for (int y, m, d, h, i, s; scanf("%d/%d/%d %d:%d:%d", &y, &m, &d, &h, &i, &s) == 6; ) {
if (int w = zeller(y, m, d); 1 <= w && w <= 5) {
v.emplace_back(y, m, d, h, i, s);
}
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d/%02d/%02d %02d:%02d:%02d\n", y, m, d, h, i, s);
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d%02d%02d %02d%02d%02d\n", y, m, d, h, i, s);
}
}
#include <cstdio>
#include <vector>
#include <tuple>
using namespace std;
int zeller(int y, int m, int d) {
if (m < 3) {
y--;
m += 12;
}
return (y + y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + d ) % 7;
}
int main() {
vector<tuple<int, int, int, int, int, int>> v;
for (int y, m, d, h, i, s; scanf("%d/%d/%d %d:%d:%d", &y, &m, &d, &h, &i, &s) == 6; ) {
if (int w = zeller(y, m, d); 1 <= w && w <= 5) {
v.emplace_back(y, m, d, h, i, s);
}
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d/%02d/%02d %02d:%02d:%02d\n", y, m, d, h, i, s);
}
for (auto [y, m, d, h, i, s] : v) {
printf("%d%02d%02d %02d%02d%02d\n", y, m, d, h, i, s);
}
}
2018/10/04(木) 22:45:58.84ID:yblvOSiR
32デフォルトの名無しさん
2018/10/04(木) 22:49:59.54ID:9/syaOEb そう言えば寝てたら未来へ行っちゃうってのは、Islandにちょっと似てる。
33デフォルトの名無しさん
2018/10/04(木) 22:50:28.48ID:9/syaOEb ごめん。誤爆。
34デフォルトの名無しさん
2018/10/05(金) 00:59:15.29ID:x9IT1j0q2018/10/05(金) 07:17:46.24ID:wqnG0hHC
春分の日と秋分の日はその前の年に気象庁だかどっかから指定される休日だから任意の時刻に対して平日判定を行うのは不可能
2018/10/05(金) 08:06:04.84ID:f0hsTKrn
まず問題文をよく読めって学校で教わらなかったのか?
2018/10/05(金) 09:07:05.89ID:wqnG0hHC
ああ10月限定かすまんな
それでも無駄な情報が多くて何をさせたい問題なのかやっぱりわからんわ
それでも無駄な情報が多くて何をさせたい問題なのかやっぱりわからんわ
38デフォルトの名無しさん
2018/10/05(金) 09:48:23.51ID:ExR6m3Ew お題
1から連続する自然数の並びで
最初の a個の総和と
それに続くb個の総和が
等しくなるものを
好きなだけ求めるち
1から連続する自然数の並びで
最初の a個の総和と
それに続くb個の総和が
等しくなるものを
好きなだけ求めるち
2018/10/05(金) 10:50:56.93ID:wqnG0hHC
>>38
(0..10**8).each{|i|n=2*i*(i+1)+1;x=Integer.sqrt(n);puts'a=%d, b=%d'%[a=(x-1)/2,i-a]if x**2==n}
#=>a=0, b=0
a=2, b=1
a=14, b=6
a=84, b=35
a=492, b=204
a=2870, b=1189
a=16730, b=6930
a=97512, b=40391
a=568344, b=235416
a=3312554, b=1372105
a=19306982, b=7997214
(0..10**8).each{|i|n=2*i*(i+1)+1;x=Integer.sqrt(n);puts'a=%d, b=%d'%[a=(x-1)/2,i-a]if x**2==n}
#=>a=0, b=0
a=2, b=1
a=14, b=6
a=84, b=35
a=492, b=204
a=2870, b=1189
a=16730, b=6930
a=97512, b=40391
a=568344, b=235416
a=3312554, b=1372105
a=19306982, b=7997214
2018/10/05(金) 14:58:28.47ID:mgzjyvv8
>>34
koltin全く知らないけど、あとで読んでみます!
koltin全く知らないけど、あとで読んでみます!
2018/10/05(金) 20:22:47.58ID:3qR/q5rp
>>38
C++
https://ideone.com/PLj4M9
Wolfram先生によると一般項があるらしい
http://www.wolframalpha.com/input/?i=2a(a%2B1)%3D(a%2Bb)(a%2Bb%2B1)+and+a%3E%3D0+and+b%3E%3D0
C++
https://ideone.com/PLj4M9
Wolfram先生によると一般項があるらしい
http://www.wolframalpha.com/input/?i=2a(a%2B1)%3D(a%2Bb)(a%2Bb%2B1)+and+a%3E%3D0+and+b%3E%3D0
2018/10/06(土) 10:59:33.32ID:MgCaJaM3
半角スペース区切りで数字が入力されるのでソートして出力しなさい
いろんなアルゴリズムでやってみよう
-*- input -*-
3 1 4 1 5 9 2 6 53 58 97 93 2 38 46 26
-*- output -*-
1 1 2 2 3 4 5 6 9 26 38 46 53 58 93 97
例) Ruby
ボゴソート
ary = gets.split.map(&:to_i)
nil while ary.shuffle!.each_cons(2).any?{|a, b| a > b}
puts ary * ' '
バブルソート
ary = gets.split.map(&:to_i)
(ary.size - 1).times do
ary.each_cons(2).with_index{|(a, b), i| ary[i, 2] = b, a if a > b}
end
puts ary * ' '
いろんなアルゴリズムでやってみよう
-*- input -*-
3 1 4 1 5 9 2 6 53 58 97 93 2 38 46 26
-*- output -*-
1 1 2 2 3 4 5 6 9 26 38 46 53 58 93 97
例) Ruby
ボゴソート
ary = gets.split.map(&:to_i)
nil while ary.shuffle!.each_cons(2).any?{|a, b| a > b}
puts ary * ' '
バブルソート
ary = gets.split.map(&:to_i)
(ary.size - 1).times do
ary.each_cons(2).with_index{|(a, b), i| ary[i, 2] = b, a if a > b}
end
puts ary * ' '
43デフォルトの名無しさん
2018/10/06(土) 13:39:49.65ID:J8Y2BFN6 perl -ne '@d=split;print join(" ",sort {$a <=> $b} @d)."\n"'
無念無想のままたった今打った。1回も試していない。
無念無想のままたった今打った。1回も試していない。
2018/10/06(土) 21:20:29.96ID:evMRo/Iv
何かと思えば円周率か
要約気付いた
要約気付いた
2018/10/06(土) 22:11:52.69ID:xFDNl+om
2018/10/06(土) 22:49:39.54ID:MgCaJaM3
>>45
なんだこれw 4ch発祥かぁ。面白いね
なんだこれw 4ch発祥かぁ。面白いね
2018/10/07(日) 00:58:45.52ID:KvcjzmFM
2018/10/07(日) 07:50:57.08ID:VJ+UDRYt
アスペか?アスペにはこのスレはたぶん無理
↑これの読解もままならないだろうが(苦笑
↑これの読解もままならないだろうが(苦笑
2018/10/07(日) 13:41:58.37ID:9vVPTzNb
50デフォルトの名無しさん
2018/10/07(日) 18:04:09.18ID:t8TfnMHv お題
現在の時刻をスウォッチ・インターネットタイムで表示する
例
@042
現在の時刻をスウォッチ・インターネットタイムで表示する
例
@042
2018/10/07(日) 19:17:11.77ID:MD9q6Ezo
2018/10/07(日) 21:21:58.39ID:T4GR84FI
ビール標準時が基準点でないものはスウォッチ・インターネットタイムではない
2018/10/07(日) 21:30:25.37ID:MD9q6Ezo
>>52
d=24*60*60;$><<'@%f'%(((Time.now.to_f-60*60)%d)*1e3/d)
d=24*60*60;$><<'@%f'%(((Time.now.to_f-60*60)%d)*1e3/d)
54デフォルトの名無しさん
2018/10/08(月) 02:11:26.03ID:tKqgyITq perl -e '$s=86400;$n=1000*((time()+3600)%$s)/$s;printf "@%d\n",$n'
今実行するとこう出る。
@757
今実行するとこう出る。
@757
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 【高市悲報】片山さつき、円安進行を受けコメント「為替の変動を緊張感を持って見極める」 [888298477]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 【悲報】かつて台湾を統治し中国大陸にまで侵略したジャップ「中国は台湾侵略するのやめろ!」 [616817505]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 蓮舫が高市になれなかった理由
