Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Mathematical utility functions for factorization, digit counting, and large integer multiplication using Karatsuba algorithm. Use when solving number theory...
Mathematical utility functions for factorization, digit counting, and large integer multiplication using Karatsuba algorithm. Use when solving number theory...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Mathematical utility functions for number theory, digit analysis, and optimized integer operations.
from pywayne.maths import get_all_factors, digitCount, karatsuba_multiplication # Get all factors of a number factors = get_all_factors(28) print(factors) # [1, 2, 4, 7, 14, 28] # Count digit occurrences count = digitCount(100, 1) print(count) # 21 (digit 1 appears 21 times in 1-100) # Large integer multiplication product = karatsuba_multiplication(1234, 5678) print(product) # 7006652
Return all factors of a positive integer. get_all_factors(n: int) -> list Parameters: n - Positive integer to factorize Returns: List of all factors of n Use Cases: Number theory problems Finding divisors Simplifying fractions Greatest common divisor (GCD) calculation Example: from pywayne.maths import get_all_factors factors = get_all_factors(36) print(factors) # [1, 2, 3, 4, 6, 9, 12, 18, 36] # Check if number is prime n = 17 factors = get_all_factors(n) if len(factors) == 2: # Only 1 and itself print(f"{n} is prime") else: print(f"{n} is not prime")
Count occurrences of digit k from 1 to n. digitCount(n, k) -> int Parameters: n - Positive integer, upper bound of counting range k - Digit to count (0-9) Returns: Count of digit k in range [1, n] Special Case: When k = 0, counts all numbers with trailing zeros after n Use Cases: Digit frequency analysis Number theory problems Data analysis tasks Example: from pywayne.maths import digitCount # Count digit 1 from 1 to 100 count = digitCount(100, 1) print(count) # 21 # Count each digit 0-9 in range 1-1000 for k in range(10): count = digitCount(1000, k) print(f"Digit {k}: {count} times")
Multiply two integers using Karatsuba's divide-and-conquer algorithm. karatsuba_multiplication(x: int, y: int) -> int Parameters: x - Integer multiplier y - Integer multiplicand Returns: Product of x and y Algorithm: Karatsuba algorithm uses recursive divide-and-conquer to multiply large integers Time complexity: O(n^logโ3) โ O(n^1.585) More efficient than naive multiplication O(nยฒ) for very large numbers Use Cases: Large integer multiplication Algorithm optimization Competitive programming Cryptography applications Example: from pywayne.maths import karatsuba_multiplication # Compare with standard multiplication a, b = 123456789, 987654321 result = karatsuba_multiplication(a, b) print(result) # 121932631112635269 # Verify assert result == a * b
from pywayne.maths import get_all_factors def is_prime(n): factors = get_all_factors(n) return len(factors) == 2 and factors == [1, n] print(is_prime(17)) # True print(is_prime(18)) # False
from pywayne.maths import get_all_factors def gcd(a, b): factors_a = set(get_all_factors(a)) factors_b = set(get_all_factors(b)) common = factors_a & factors_b return max(common) print(gcd(24, 36)) # 12
from pywayne.maths import digitCount def digit_frequency(n): frequency = {} for k in range(10): frequency[k] = digitCount(n, k) return frequency print(digit_frequency(1000)) # {0: 189, 1: 301, 2: 300, 3: 300, ...}
from pywayne.maths import karatsuba_multiplication # Very large numbers x = 123456789012345678901234567890 y = 9876543210987654321098765432109876 # Use Karatsuba for efficiency product = karatsuba_multiplication(x, y)
get_all_factors returns sorted unique factors digitCount counts from 1 to n inclusive karatsuba_multiplication is optimized for large integers (hundreds+ of digits) For small integers, standard multiplication * may be faster due to overhead
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.