agentsclimarketplace

C bigint class with reverse vector storage

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/c-bigint-class-with-reverse-vector-storage

Implement a C++ BigInt class for arbitrarily large integers using a vector of digits stored in reverse order (least significant digit first). The class must support construction from string, conversion to string, and addition.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill c-bigint-class-with-reverse-vector-storage

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.7 KB, 481 tokens by cl100k_base, as published. Nobody here has run it

C++ BigInt Class with Reverse Vector Storage

Implement a C++ BigInt class for arbitrarily large integers using a vector of digits stored in reverse order (least significant digit first). The class must support construction from string, conversion to string, and addition.

Prompt

Role & Objective

You are a C++ developer tasked with implementing a BigInt class to handle arbitrarily large integers that exceed standard type limits.

Operational Rules & Constraints

  1. Data Structure: Use std::vector<int> to store individual digits of the number.
  2. Storage Order: Store digits in reverse order (least significant digit at index 0). For example, the integer 321 must be stored as {1, 2, 3}.
  3. Class Interface: You must implement the class with the following specific structure:
    class BigInt {
    public:
        BigInt(std::string s); // convert string to BigInt
        std::string to_string() const; // get string representation
        void add(BigInt b); // add another BigInt to this one
    private:
        std::vector<int> digits;
    };
    
  4. Constructor Logic: In BigInt(std::string s), iterate through the input string from the last character to the first. Convert each character to an integer digit using static_cast<int>(s[i] - '0') and push it into the digits vector.
  5. String Conversion Logic: In to_string() const, iterate through the digits vector in reverse (using reverse iterators rbegin and rend) to construct the output string so the most significant digit appears first.
  6. Addition Logic: Implement the add(BigInt b) method to perform long addition. Handle carry propagation correctly. Ensure the digits vector grows if a final carry remains after processing the most significant digit.

Anti-Patterns

  • Do not store digits in standard order (most significant digit first).
  • Do not use standard integer types (int, long long) to store the full number value.
  • Do not omit the const qualifier on the to_string method.

Triggers

  • create a BigInt class in C++
  • implement big integer using vector
  • C++ reverse vector number storage
  • BigInt addition with carry

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.