プログラミングのお題スレ Part22 (863レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
187(17): 2024/01/16(火)00:33 ID:n8j0XaXx(1) AAS
お題:時刻の文字列が与えられる。その時刻から1秒後の時刻を出力せよ。
例
入力:00:00:00
出力:00:00:01
入力:23:59:59
出力:00:00:00
188(1): 9 2024/01/16(火)02:37 ID:SfyAs2IF(1/2) AAS
>>187 Perl5
use Time::Piece;
use Time::Seconds;
for (qw{00:00:00 23:59:59}) {
$t = Time::Piece->strptime($_, '%T') + 1;
print "入力:$_\n出力:", $t->strftime('%T'), "\n";
}
省7
190: 2024/01/16(火)20:31 ID:76+p6SY+(1/2) AAS
>>187 octave
外部リンク:ideone.com
f = @(s) datestr(addtodate(datenum(s), 1, 'second'), 'HH:MM:SS');
in = ['00:00:00';'23:59:59'], out = f(in)
191: 2024/01/16(火)20:54 ID:OiJoE8pV(1) AAS
>>187 PowerShell
"00:00:00", "23:59:59" |% {[String]([DateTime]$_).AddSeconds(1).TimeOfDay}
192: 2024/01/16(火)21:26 ID:76+p6SY+(2/2) AAS
>>187 ruby
外部リンク:ideone.com
require 'time'
f = -> s {(Time.parse(s) + 1).strftime('%T')}
p ['00:00:00', '23:59:59'].map {|s| [s, f.(s)]}
193: 2024/01/16(火)23:32 ID:+Emu7d1R(1) AAS
>>187 js
const decode = (s) => s.split(":").map(Number);
const encode = (nums) => nums.map((v) => String(v).padStart(2, "0")).join(":");
const inct = (s, sec = 1) => {
const a = decode(s);
const ss = [
{ n: a[0], max: 24 },
省17
194: 2024/01/17(水)00:04 ID:g7dwo5vO(1) AAS
>>187 ocaml
外部リンク:ideone.com
let sec_of_hms hms =
let at i = int_of_string (String.sub hms i 2) in at 0 * 60 * 60 + at 3 * 60 + at 6
let hms_of_sec sec =
Printf.sprintf "%02d:%02d:%02d" (sec mod 86400 / 3600) (sec mod 3600 / 60) (sec mod 60)
let (<<) f g x = f (g x)
省1
195: 2024/01/17(水)01:45 ID:xvgJymQe(1) AAS
>>187
Rust (date/timeライブラリ不使用版)
fn next_time(cur: &str) -> String {
let [sec, min, hour] = cur
.rsplitn(3, ':')
.map(|s| s.parse().unwrap())
.zip([60, 60, 24])
省12
196: 17 2024/01/18(木)03:01 ID:opxINJAy(1) AAS
>>187
Kotlin
Java のライブラリそのまま使ってるだけの怠惰なプログラム
外部リンク:paiza.io
197: 17 2024/01/19(金)19:43 ID:hxZRcaHh(1) AAS
>>187
Kotlin
今度は Java のライブラリは使わずに時分秒を保持するクラスを自分で作ってそこで秒に足すとか文字列にするとかやるようにした。
外部リンク:paiza.io
198: 2024/01/20(土)23:08 ID:PCaU0wMN(1) AAS
>>187 dart 2.3.0
外部リンク:ideone.com
void main() {
var sec_of_hms = (hms) => hms.split(':').fold(0, (acc, s) => acc * 60 + int.parse(s));
var hms_of_sec = (sec) => [sec % 86400 ~/ 3600, sec % 3600 ~/ 60, sec % 60].map((x) => x.toString().padLeft(2, '0')).join(':');
var f = (hms) => hms_of_sec(sec_of_hms(hms) + 1);
print(f('00:00:00'));
省2
199: 2024/01/21(日)17:06 ID:BpmEGVkv(1) AAS
>>187
c++
2chスレ:tech
200(1): 2024/01/21(日)21:15 ID:BWkvMixc(1) AAS
>>187 c
外部リンク:ideone.com
int hmstosec(const char *hms) {
int h, m, s;
return sscanf(hms, "%d:%d:%d", &h, &m, &s) == 3 ? h * 3600 + m * 60 + s : 0;
}
char *sectohms(char *buff, int sec) {
省21
201: 2024/01/22(月)15:47 ID:PT6/fzaV(1) AAS
>>187 lisp
外部リンク:ideone.com
202: 2024/01/23(火)20:39 ID:8rvcqFQo(1/2) AAS
>>187 gawk
外部リンク:ideone.com
BEGIN {FS=":"}
{print strftime("%T", mktime(sprintf("2024 01 23 %s %s %s", $1, $2, $3)) + 1);}
>>187 sqlite
外部リンク:ideone.com
select time('00:00:00', '+1 second');
省6
203: 2024/01/23(火)22:56 ID:8rvcqFQo(2/2) AAS
>>187 pascal
外部リンク:ideone.com
program ideone;
Uses sysutils, dateutils;
function f(hms : string) : string;
begin
f := TimeToStr(IncSecond(StrToTime(hms), 1))
省5
204: 2024/01/23(火)23:54 ID:39Fs96AV(1) AAS
>>187を時間ライブラリ無しで作成できている言語は現時点で
193のJavaScript
194のOCaml
195のRust
197のKotlin
198のDart
199のC++
省3
205: 17 2024/01/24(水)00:08 ID:n4ooUyFj(1) AAS
>>187
Perl
bashのコマンドラインから長い長いワンライナーで。
$ perl -ne 'if(/(\d+):(\d+):(\d+)/){$h=$1;$m=$2;$s=$3;printf"入力:%02d:%02d:%02d\n",$h,$m,$s;$s++;if($s>=60){$m++;$s=0;if($m>=60){$h++;$m=0;if($h>=24){$h=0}}}printf"出力:%02d:%02d:%02d\n",$h,$m,$s}'
1:2:3
入力:01:02:03
出力:01:02:04
省7
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s