Skip to content

Instantly share code, notes, and snippets.

Project Euler を はじめから

4ヶ月もほったらかしになってたので、 復習がてら Problem 1 からやってみる。

F #

初項a、公差d の等差数列の初項から第n項 (末項 l=a+(n-1)d) までの和Snは...

let sn a lim =
  let n = lim / a in
  let l = a   * n in

Access で Oracle に ODBC 接続したときの文字化け

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1\NLS_LANG

JAPANESE_JAPAN.JA16SJIS

を設定する

JA16EUC, AL16UTF8 だと ODBCエラーになって接続できなかった

@fornext1119
fornext1119 / gist:5441435
Created April 23, 2013 07:10
ファイルの更新日付を変更する
Set fs = CreateObject("Scripting.FileSystemObject")
file = WScript.Arguments(0)
If WScript.Arguments.Count > 1 Then
dt = CDate(WScript.Arguments(1))
Else
dt = Now
End If
With CreateObject("Shell.Application")
With .NameSpace(fs.GetParentFolderName(file))
@fornext1119
fornext1119 / gist:5440166
Created April 23, 2013 01:37
フォルダ内の全Excelファイルの特定のセル内容を書き換える
Option Explicit
Private fs: Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Private folder: Set folder = fs.GetFolder(WScript.Arguments(0))
Private xl: Set xl = CreateObject("Excel.Application")
xl.Visible = True
xl.DisplayAlerts = False '警告メッセージをOFF
'ファイル一覧を取得
@fornext1119
fornext1119 / gist:5440158
Created April 23, 2013 01:34
フォルダをまるごと退避 同じ名前のファイルが既にあればバックアップを取ったうえで上書き 退避先のファイルの方が新しければ、そのファイルの方を正にする
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var search_folder = WScript.Arguments(0);
var copy_folder = WScript.Arguments(1);
var mode = "";
if (WScript.Arguments.length > 2)
mode = WScript.Arguments(2);
if (mode == "")
WScript.Echo("confirm mode");
else if (mode == "c")
@fornext1119
fornext1119 / gist:5368838
Created April 12, 2013 02:29
iTunes COM Interface
http://www.joshkunz.com/iTunesControl/main.html
@fornext1119
fornext1119 / gist:5360901
Created April 11, 2013 05:11
3270エミュレータの画面キャプチャをExcelシートにはりつけ。 内容をTextファイルに保存。
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_EXTENDEDKEY As Long = &H1
Private Const KEYEVENTF_KEYUP As Long = &H2
Private Const VK_LMENU As Long = &HA4
Private Const VK_LCONTROL As Long = &HA2
Private Const fKEYDOWN = KEYEVENTF_EXTENDEDKEY
Private Const fKEYUP = KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP
@fornext1119
fornext1119 / problem26.md
Last active December 14, 2015 06:48
Project Euler Problem 26

#循環節の長さ

  1. 素因数が2と5のみで構成されるならば,有限小数
  2. 素因数に2と5が含まれていなければ,純循環小数
  3. それ以外の場合,混循環小数

##純循環小数 の 場合
素数 p の逆数を循環小数で表した時の循環節の長さ k は、次の式で表される。
k は 10^k≡1 (mod p) となる最小の数

整数 n, m の差が、自然数 d の倍数になるとき、n と m は法 d に関して合同であるといい、 

###Scala

(999.0 + math.log10(5.0) / 2.0) / (math.log10((1.0 + math.sqrt(5.0) ) / 2.0))
res0: Double = 4781.859270753068
(BigInt(1618033989).pow(4781) / BigInt(1000000000).pow(4780) / (BigInt(1236067977) + BigInt(1000000000))).toString().length
scala.util.control.Breaks.breakable {
for (i <- 999 to 100 by -1; j <- 0 to 1) {
var x = i
var y = i - j
do {
if (x % 11 == 0 || y % 11 == 0 ) {
var s = (x * y).toString
if (s == s.reverse) {
println(x + " * " + y + " = " + s)
scala.util.control.Breaks.break