サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
購入・発注したい方
サービスを探す
プロ人材を探す
ノウハウ・素材を探す
ブログを探す
仕事・求人を投稿して募集
エージェントに人材を紹介してもらう
受注・働きたい方
出品する
単発の仕事を探す
継続 (時給/月給) の仕事を探す
エージェントに仕事を紹介してもらう
カテゴリ一覧
イラスト作成・漫画制作
デザイン制作
Web制作・HP作成・EC構築
動画編集・映像制作
集客・マーケティング相談
ビジネス代行・事務代行
音楽制作・ナレーション
IT相談・システム開発
ライティング・翻訳
コンサルティング・士業
生成AI活用・開発・制作
占い
悩み相談・カウンセリング
学習指導・資格・キャリア相談
住まい・美容・生活相談
オンラインレッスン・習い事
ハンドメイド制作
出張撮影・出張サービス
資産運用・副業の相談
弁護士検索・法律Q&A(法律相談)
サポート
はじめての方へ
ご利用ガイド
お困りのときは
ログイン
会員登録
サービスを探す
イラスト作成・漫画制作
>
デザイン制作
>
Web制作・HP作成・EC構築
>
動画編集・映像制作
>
集客・マーケティング相談
>
ビジネス代行・事務代行
>
音楽制作・ナレーション
>
IT相談・システム開発
>
ライティング・翻訳
>
コンサルティング・士業
>
生成AI活用・開発・制作
>
占い
>
悩み相談・カウンセリング
>
学習指導・資格・キャリア相談
>
住まい・美容・生活相談
>
オンラインレッスン・習い事
>
ハンドメイド制作
>
出張撮影・出張サービス
>
資産運用・副業の相談
>
>
プロ人材を探す
>
ノウハウ・素材を探す
ブログを探す
>
求人募集を投稿する
人材を紹介してもらう
仕事を探す
出品する
仕事を探す
仕事を紹介してもらう
出品する
仕事を紹介してもらう
求人募集を投稿する
人材を紹介してもらう
ブログを投稿
ホーム
仕事を探す
単発の仕事を探す(すべて)
IT相談・システム開発
プログラミング・ソフト開発
C# で連分数を求めるコード
C# で連分数を求めるコード
プログラミング・ソフト開発
予算
3千
円
〜
5千
円
納品希望日
ご相談
募集期限
募集終了
締切日 2022年1月3日
/
掲載日 2021年12月31日
応募状況
応募人数
2
契約人数
1
閲覧数
73
用途・種類
その他
対応範囲
ー
用意してあるもの
ー
開発言語
C#
募集内容
依頼の概要・目的・背景
以下の C のコードをもとに C# で static な連分数クラスを作成していただけないでしょうか? 単に移植するだけなら簡単なのですが、クラスを含むオブジェクト指向的プログラミングの理解がイマイチなので、その知識を深めるためです。 たとえば long a = 1; long b = 1; MyMath.ApproxFrac(ref a, ref b, 3.14159265358979) とすると a = 355 b = 113 となるような感じ。 //実数の近似分数を求める #include <stdio.h> #include <math.h> #define ZERO 1e-02 // 許容誤差 #define MAX_CALC 15 // 近似分数の最大計算回数 long gcd(unsigned long a, unsigned long b) //最大公約数 { long r; while (b != 0) { r = a % b; a = b; b = r; } return a; } typedef struct // 分数(p/q) { unsigned long p, q; } Frac; Frac regfrac(Frac frac)// 既約分数 { Frac ret = frac; long g = gcd(ret.p, ret.q); ret.p /= g; ret.q /= g; return ret; } // 分母分子の値から分数を生成 Frac NewFrac(unsigned long p, unsigned long q) { Frac ret; ret.p = p; ret.q = q; ret = regfrac(ret); return ret; } Frac AddFrac(Frac frac1, Frac frac2)// 分数の足し算 { return NewFrac(frac1.p * frac2.q + frac1.q * frac2.p, frac1.q * frac2.q); } void showfrac(Frac frac)// 分数の表示 { printf("%u / %u\n", frac.p, frac.q); } Frac ReverseFrac(Frac frac)// 逆数 { return NewFrac(frac.q, frac.p); } Frac ApproxFrac(double x) // 連分数を求める:非再帰版 { int level = 0; unsigned long seq[MAX_CALC]; while (1) { seq[level++] = (long)x; if (fabs(x - (long)x) < ZERO || level == MAX_CALC) break; x = 1.0 / (x - (long)x); } // 普通の分数にする Frac fr = NewFrac(seq[level - 1], 1); for (int i = level - 2; i >= 0; i--) fr = AddFrac(NewFrac(seq[i], 1), ReverseFrac(fr)); return fr; } int main() { showfrac( ApproxFrac(3.14159265358979) ); }
続きを読む
添付ファイル
ー
参考URL
ー
求めるスキル
ー
特記事項
ー
募集内容の追記
応募者一覧
応募者
応募日時
nnnb
2021/12/31 13:45
tatsuro0120
2021/12/31 13:54
募集内容についての質問
質問と回答の履歴
質問はまだありません。不明なことがあれば質問してみましょう。
募集終了
ブックマーク
予算
3千
円
〜
5千
円
募集終了
募集者情報
アンドロメダシティ
5.0
(2)
発注実績
発注実績は公開募集経由のもの、公開募集で購入したものに限ります。
2
発注件数
100%
発注率
100%
取引完了率
認証状況
本人確認
機密保持契約(NDA)
この募集内容に似ている仕事
プログラミング・ソフト開発
LINEを使った年間フリーパス券のデジタル会員証システム構築
予算
3万
円
〜
5万
円
応募者数
102
募集期限
あと 4 日
(9月28日まで)
mitsujiro
投稿日時:
2日前
詳細を見る
プログラミング・ソフト開発
グッズなどの自動購入のツール作成
予算
見積り希望
応募者数
55
募集期限
あと 10 日
(10月4日まで)
Mauna0227
投稿日時:
3日前
詳細を見る