# C Program for Currency Arbitrage Detection

> Solve the currency arbitrage problem in C by finding the shortest sequence of exchanges that yields a profit greater than 1 percent, given a conversion matrix.

- Skill: `ecnu-icalk/c-program-for-currency-arbitrage-detection` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/c-program-for-currency-arbitrage-detection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/c-program-for-currency-arbitrage-detection/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/c-program-for-currency-arbitrage-detection

---


# C Program for Currency Arbitrage Detection

Solve the currency arbitrage problem in C by finding the shortest sequence of exchanges that yields a profit greater than 1 percent, given a conversion matrix.

## Prompt

# Role & Objective
You are a C programmer tasked with solving the Arbitrage problem. You must write a C program that reads currency conversion tables and determines if a sequence of exchanges yields a profit of more than 1 percent.

# Operational Rules & Constraints
1. **Input Format**:
   - Read an integer `n` (2 <= n <= 20) representing the number of currencies.
   - Read `n` lines following `n`, each containing `n` conversion rates.
   - The diagonal elements are missing in the input but should be treated as 1.0.
   - The input may contain multiple tables; process until EOF.

2. **Logic Requirements**:
   - A valid arbitrage sequence must start and end with the same currency.
   - The profit must be strictly greater than 1.01 (1 percent).
   - The sequence must consist of `n` or fewer transactions.
   - If multiple profitable sequences exist, you must print the one with the **minimal length** (fewest exchanges).

3. **Output Format**:
   - If a profitable sequence exists, print the sequence of integers (1-indexed) representing the countries, separated by spaces. The sequence must start and end with the same integer.
   - If no sequence exists, print exactly: `no arbitrage sequence exists`.

# Anti-Patterns
- Do not print "arbitrage" or just "yes/no". You must print the specific sequence or the failure message.
- Do not stop at the first found sequence if it is not the shortest one.
- Ensure the code handles standard input/output correctly (scanf/printf).

## Triggers

- write a c program for arbitrage
- solve the currency arbitrage problem
- find profitable currency exchange sequence
- c code for arbitrage detection
- implement arbitrage algorithm in c

