0

投稿日

ChatGPTにライブラリを作ってもらう(Part2)

はじめに

実は、この記事を書き始める前に色々作成しておりまして、そちらを紹介します。

進数変換

例えば、10進数から16進数・2進数から10進数といったよく見る変換から
16進数から32進数(ポケモンでしか見たことない)や2進数から36進数(見たことない)などの変換も可能です。

エラトステネスの篩

細かいことはwikipediaを参照してください。
特定の値までの間で、素数配列を返します。
エラトステネスの篩(wikipedia)

素数判定

エラトスてネスの篩に近いものです。
特定の値が、素数かどうかを返します。

ユークリッドの互助法

これも細かいことは見てください。
簡単に言えば、2数から最大公約数を返すものです。
(gmp_gcd() があるでしょ っていうのは禁句です)
ユークリッドの互助法(wikipedia)

ヘロンの公式

高校生のときに習った記憶がありますね。
3辺から面積を求めることができます。

三角関数

3辺からsin,cos,tanを返します。
角度も取得できます。弧度法でもラジアンでも。

乗根

n乗根を返します。
(pow() の第二引数を分数にしただけ)

ツェラーの公式

こちらも詳しいことは(略
ツェラーの公式(Wikipedia)
要は、年月日から曜日を返す公式です。
すごいものがあるんですな。

年間休日

せっかくツェラーの公式を作ったのでね。
年度の開始日・休みの曜日・その他の決まった日付の休み・まとまってとれる休暇日数をいれると、年間休日日数を返してくれます。

利息計算

元本n円・年利p%・y年後の値を計算します。
単利・複利どちらも計算できます。

あとがき

履歴が残っていないのでダイジェスト紹介になってしまいすみません。。
今後の分は、作るたびに更新していきます!
ライブラリなので、バリデーションクラスとかも用意していますが、この辺は特に重要な部分ではないので説明は省きます。

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について
ohanaengineer
@ohanaengineer
こんにちは、初めまして。おはなといいます。 エンジニア経験も2年ほどになりまして、アウトプットがてら何かできればと思いアカウント作成してみました。 自分の趣味と、気になることを発信していければ。

コメント

進数変換
例えば、10進数から16進数・2進数から10進数といったよく見る変換から
16進数から32進数(ポケモンでしか見たことない)や2進数から36進数(見たことない)などの変換も可能です。

base_convert()という関数がありますよ。

<?php
// 10進数123456を16進数へ
echo base_convert('123456', 10, 16); // 1e240

// 16進数1e240を36進数へ
echo base_convert('1e240', 16, 36); // 2n9c

// 36進数2n9cを10進数へ
echo base_convert('2n9c', 36, 10); // 123456

PHP: base_convert - Manual


要は、年月日から曜日を返す公式です。

年月日からの曜日取得は、PHPだったらdate()関数やDateTimeクラス、DateTimeImmutableクラスなどを使うのが早いですね。

<?php
$date = new DateTime('2023-07-01');
echo $date->format('D'); // Sat
echo $date->format('l'); // Saturday
echo $date->format('w'); // 6
echo ['日','月','火','水','木','金','土'][$date->format('w')]; // 土
0
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン
記事投稿キャンペーン開催中
コマンドライン実行機能が実装される「T-DASH」を使って、CI/CD連携をしてみよう!
~
新規開発や新技術の検証、導入にまつわる記事を投稿しよう!
~
0