func main() { for i := 1; i < 8; i++ { t, _ := time.Parse("2006/01/02" , fmt.Sprintf("0001/01/%02d", i)) fmt.Println(t.Weekday()) } } 0013デフォルトの名無しさん2020/12/02(水) 10:30:39.04ID:K7fmNxhs Maximum subarray problem - Wikipedia https://en.wikipedia.org/wiki/Maximum_subarray_problem
ホームページの構成要素を破壊するような動画を作りたい。まあ、実際に破壊する訳じゃないけど、ハッカーになりたい子どもたちの娯楽として役に立つらしい。 0074デフォルトの名無しさん2020/12/12(土) 22:53:12.12ID:gPUrwTXi>>51 bat :: 循環小数の循環節を()で表す @echo off &setlocal enabledelayedexpansion set str=裏裏表裏裏表裏裏裏表裏裏裏表表裏表裏裏表裏裏裏裏表表表表表裏表表裏裏表裏表表裏表表表表表裏裏裏裏裏表表表表裏表表表表裏表表表裏表表表裏裏表裏裏表表裏裏表裏表表表裏裏裏裏裏表表表表表裏表表裏表裏裏表裏表 set str=%str:裏= % for %%a in (%str%) do set /a n+=1 set /a s=%str:表=1+%0, a=s/n, r=s%%n :: test sample :: set /a s=5, n=108, a=0, r=5 :: set /a s=10, n=3, a=3, r=1 :: set /a s=1212123, n=9999999, a=0, r=1212123 :: set /a s=12, n=4, a=3, r=0 :: echo %s% / %n% = %a%...%r% set /a j=0, max=1024 :FLACT if %r% EQU 0 goto :END set RR=%RR% %r% set /a r*=10, d=r/n, r%%=n, i=0, j+=1 set f=%f%%d% for %%a in (%RR%) do (if %%a EQU %r% for /f %%i in ("!i!") do set "f=!f:~0,%%i!(!f:~%%i!)…"&goto :END ) &set /a i+=1 if %j% LSS %max% goto :FLACT set f=%f%…
:END if defined f set f=.!f! echo %s% / %n% = %a%!f! pause REM 53 / 24 = 2.208(3)… 0075デフォルトの名無しさん2020/12/13(日) 00:32:32.94ID:qXegsMRS>>71 Java https://paiza.io/projects/1DnFNPffNqChsN9nlWmv9g0076デフォルトの名無しさん2020/12/13(日) 01:10:59.90ID:qXegsMRS>>51 Java https://paiza.io/projects/Zlfh3U7vhRXnINzdJyIrXA0077デフォルトの名無しさん2020/12/13(日) 06:04:20.93ID:jPgXPNr/>>71 C++ https://ideone.com/tsrxUE0078デフォルトの名無しさん2020/12/13(日) 06:45:16.14ID:jPgXPNr/>>71 C++ ループ無し https://ideone.com/kxxDn60079蟻人間 ◆T6xkBnTXz7B0 2020/12/13(日) 08:24:11.25ID:zFOj0dh9 お題: 符号なし演算ができない言語X2において、2個の32ビットの符号付き整数x, yがあたえられる。x, yを符号なし整数x', y'と見なしたときの比較演算 x' < y' の値を求めよ。 0080デフォルトの名無しさん2020/12/13(日) 08:37:28.90ID:LzHmnmLv 回答付いたからってチョーシに乗るな。 0081蟻人間 ◆T6xkBnTXz7B0 2020/12/13(日) 08:38:30.36ID:zFOj0dh9>>78 素晴らしい回答ですね。少し簡単に解説してくれませんか? 出題者がおバカですみません。 0082デフォルトの名無しさん2020/12/13(日) 09:01:54.89ID:LzHmnmLv えっ?? 頭おかしいだけかと思ってたらホントに馬鹿なんだなw 右シフトとマスクでマイナス値は正の値に直す。右シフト1で1/2 更に5で割って1/10。これで10の位から上の値になる 上の割る5で切り捨てられた余りの2倍(左シフト1)と右シフトで捨てられたLSBを足して1の位 0083蟻人間 ◆T6xkBnTXz7B0 2020/12/13(日) 09:18:05.05ID:zFOj0dh9>>82 ありがとうございます。 0084デフォルトの名無しさん2020/12/13(日) 14:07:02.42ID:qXegsMRS>>79 Java https://paiza.io/projects/7iEQmhLeSJs5iPIxnBgHnw0085蟻人間 ◆T6xkBnTXz7B0 2020/12/13(日) 15:18:39.67ID:zFOj0dh9>>84 ちょっと動作が遅いね。どちらも正だった場合は普通に比較できるんだから、マイナスありとなしで場合分けできるんじゃね。 0086デフォルトの名無しさん2020/12/13(日) 18:34:56.68ID:jPgXPNr/>>79 C++ https://ideone.com/uZYoA90087デフォルトの名無しさん2020/12/13(日) 18:39:04.43ID:7dJX4pz2>>19 lol 0088デフォルトの名無しさん2020/12/14(月) 07:19:49.11ID:nk+3ocmA>>79 Julia function f(x , y) if (x >= 0) == (y >= 0) x > y else !(x > y) end end 0089デフォルトの名無しさん2020/12/14(月) 14:05:29.33ID:y4v5rW/c 今年考えたがボツにした、イマイチ問題より [お題] 整数A, B (1 <= A < B <= 20億)が与えられる。 A以上, B以下の整数が持つ"約数の個数"を合計する。
すまん、日本語が下手だった 0095デフォルトの名無しさん2020/12/14(月) 20:38:42.92ID:R5T0tffH>>71,79 bat 組み合わせてmax関数化。変換は>>78さん模倣 :: maxUint32 2つの引数(int32)をunsignedINT32と見做して比較し大きい方をunsignedINT32と同じ数字文字列に変換 @echo off &setlocal enabledelayedexpansion for /f "delims=:" %%A in ('findstr /en ARGS "%~0"') do set /a N=%%A for /f "usebackq skip=%N% tokens=1,2* delims=, " %%A in ("%~0") do ( set /a "x=%%A, u=y=%%B, m=0x7fffffff, xor=(x^y)&~m, xx=x&m, yy=y&m, msby=y>>31&1" set z=%%C if !xor! EQU 0 (if !xx! GTR !yy! set /a u=x ) else if !msby! EQU 0 set /a u=x set /a "L=u&1, u=u>>1&m, h=u/5, L+=u%%5<<1" if !h! EQU 0 set h= if "!h!!L!"=="!z!" (set "z=OK") else set z=NG echo !h!!L! : !z! ) pause &exit /b :: ARGS 0, 0, 0 0, 1, 1 1, 0, 1 1, 1, 1 123, 456, 456 456, 123, 456 0, -1, 4294967295 -1, 0, 4294967295 0x7fffffff, 0x80000000, 2147483648 -1294967296, 0x80000000, 3000000000 -294967296, -2147483647, 4000000000 0096デフォルトの名無しさん2020/12/14(月) 22:49:37.32ID:IVz7Drzo>>89 haskell
div' x y = -1 - ( div ( -x ) y )
f a b = ( g b ) - ( h a )
g a = let c = truncate $ sqrt $ fromInteger a v = sum [ ( div a x ) | x <- [1..c] ] in 2*v - c^2
h b = let c = truncate $ sqrt $ fromInteger b d = if c^2 == b then 1 else 0 v = sum [ ( div' b x ) | x <- [1..c] ] in 2*v - c^2 + d
main = do print $ f 12 14 print $ f 1 100 print $ f 98765432 1234567890 ---- 12 482 24201731790 0097デフォルトの名無しさん2020/12/15(火) 00:08:49.86ID:SWKOmgAZ>>90 haskell
import Data.List
pdcmp n = let mainLoop d m = case () of _ | d^2 > m -> [ m ] _ | mod m d /= 0 -> mainLoop ( d + 1 ) m otherwise -> d : ( mainLoop d $ div m d ) in if n > 1 then mainLoop 2 n else [ ]
main = do putStrLn $ pad "a" "aba" putStrLn $ pad "a" "abcabc" putStrLn $ pad "a" "aaa" putStrLn $ insBraket "🎄" "🎅" "Christmas" "Merry Christmas!" ---- <a>b<a> <a>bc<a>bc <a><a><a> Merry 🎄Christmas🎅!