正整数を互いに異なる自然数に分割し積を最大化するアルゴリズム

与えられた正整数 N を、互いに異なる複数の自然数に分解し、それらの自然数の積が最大となるようにする方法について解説します。分解された自然数は昇順で表示し、その最大積も計算・表示します。この問題は、効率的な貪欲法と高精度計算を組み合わせることで解決できます。 問題の概要 正整数 N (3 ≤ N ≤ 10000) が与えられます。N を互いに異なる自然数(ただし ...

9月10日 09:37 投稿

C言語におけるプリプロセッサの役割とディレクティブ

C言語の開発プロセスにおいて、プリプロセッサはコンパイルの初期段階を担う重要な要素です。実際のコンパイル処理が始まる前にソースコードを前処理し、特定の指令(プリプロセッサディレクティブ)に基づいてテキスト的な変換を行います。この段階での処理は、コードの柔軟性、再利用性、およびプラットフォーム適応性を高める上で不可欠です。 プリプロセッサの基本概 ...

9月7日 21:21 投稿

C言語string.hライブラリ関数の詳細解説

char *find_char(const char *sequence, int symbol) 文字列sequence内に文字symbolが存在するかを探索します。 戻り値:発見した場合、その文字のアドレスを返します。発見できない場合はNULLポインタを返します。 実装例: char* locate_character(const char* text, int target) { while (*text != '\0') { if (*text == target) { ...

9月6日 06:41 投稿

Webotsを用いた五杆式輪脚ロボットのシミュレーション:運動学逆解とPID制御による動力学実装

Webots環境における五杆式輪脚(ホイールレッグ)ロボットのシミュレーション構築について解説します。この并联(パラレル)リンク構造を持つロボットは、車輪による走行と脚部による跳躍や段差乗り越えを両立できる点が特徴です。本稿では、C言語を用いた制御プログラムの設計、特にPID制御、運動学逆解、および動的なモーション生成に焦点を当てます。 ロボットハードウ ...

8月31日 14:56 投稿

C言語基礎練習:制御フローと乱数処理の応用

本稿では、C言語の基本的な制御文(while, if-else, for)と乱数生成を組み合わせた6つの練習問題を紹介する。各コードは動作を簡潔に保ちつつ、変数名やロジックを一部変更してある。 1. ランダム学籍番号生成 現在時刻をシードに、2種類の学科からランダムに5人を選び、学籍番号(20256343に続く4桁)を出力する。学科の振り分けは乱数(0/1)で決定し、各学科の番号範囲 ...

8月28日 16:20 投稿

LeetCode | 面試問題 08.01. 三步問題

関連タグ 動的計画法、C言語 問題の説明 三段階の階段を登る問題です。ある子供が階段を登っているとします。階段はn段あり、その子供は一度に1段、2段、または3段を登ることができます。このとき、子供が階段を登る方法の総数を計算するアルゴリズムを実装してください。結果は非常に大きくなる可能性があるため、1000000007で剰余を取ってください。 解法の考察 これは基 ...

8月23日 07:43 投稿

動物名の出現頻度を辞書木でカウントする方法

問題概要 大規模な動物名リストから最も頻繁に出現する動物名とその出現回数を出力する問題です。入力される動物名はすべて小文字アルファベットで構成され、文字列長は10文字以内に制限されています。 入力仕様 1行目:動物名の数 N (1 ≤ N ≤ 4,000,000) 2行目以降:N個の動物名(各文字列は小文字アルファベットのみ) 出力仕様 最も出現回数の多い動物名とその回数 ...

8月21日 20:57 投稿

ORBアルゴリズムによる画像特徴点抽出のC言語実装

ORB特徴抽出の実装手法 ORBアルゴリズムの実装には複雑な行列演算が必要なため、以下ではOpenCVを利用した方法と独自実装による簡易版の2種類のアプローチを紹介します。 OpenCVを利用した実装 ヘッダファイル定義 #ifndef ORB_FEATURE_DETECTOR_H #define ORB_FEATURE_DETECTOR_H #include <opencv2/core/core_c.h> typedef struct { int max_features; ...

8月15日 16:33 投稿

C言語における構造体とポインタを活用したデータ管理および連結リスト実装

構造体配列による学生成績の管理とソート処理 C言語におけるデータ集約処理では、複数の関連する変数をまとめる構造体(struct)が不可欠です。以下の実装では、学生の成績データを構造体配列で管理し、評価の算出、不合格者のフィルタリング、および成績順のソート処理を行っています。ソートアルゴリズムには、要素の交換を補助関数に分離したバブルソートを適用し、コー ...

8月13日 16:49 投稿

C言語:構造体と列挙型を用いたプログラム例

課題1:書籍販売データの処理 以下のプログラムは、書籍の販売データを管理し、販売数でランキングを表示し、総売上額を計算します。 #include <stdio.h> #define MAX_BOOKS 10 // 書籍情報を格納する構造体 typedef struct { char ISBN[20]; // ISBNコード char title[80]; // 書籍タイトル char author[80]; // 著者名 double pr ...

8月13日 12:49 投稿