AutoSkill 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.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/c-program-for-currency-arbitrage-detection" ~/.claude/skills/ecnu-icalk-autoskill-c-program-for-currency-arbitrage-detection && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/c-program-for-currency-arbitrage-detection/SKILL.mdsource content
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
-
Input Format:
- Read an integer
(2 <= n <= 20) representing the number of currencies.n - Read
lines followingn
, each containingn
conversion rates.n - The diagonal elements are missing in the input but should be treated as 1.0.
- The input may contain multiple tables; process until EOF.
- Read an integer
-
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
or fewer transactions.n - If multiple profitable sequences exist, you must print the one with the minimal length (fewest exchanges).
-
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