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.md
source 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

  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