mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-18 22:40:59 +00:00
28c1e74c1d
Replace the exercise pages' Python-only snippets with source-backed implementations for the 13 visible programming languages, and localize reader-facing comments by site language. Zig remains out of scope. Approval bypass: repository protection requires one approval but does not enforce it for administrators. All 68 completed checks succeeded; four non-required Java jobs remained queued on the existing ubuntu-20.04 workflow, with no failed checks.
27 lines
463 B
C
27 lines
463 B
C
/**
|
|
* File: fast_power.c
|
|
* Created Time: 2026-08-18
|
|
* Author: Hello Algo Team
|
|
*/
|
|
|
|
#include <assert.h>
|
|
|
|
/* Exponentiation by squaring */
|
|
int fastPow(int x, int n) {
|
|
if (n == 0) {
|
|
return 1;
|
|
}
|
|
int half = fastPow(x, n / 2);
|
|
if (n % 2 == 0) {
|
|
return half * half;
|
|
}
|
|
return half * half * x;
|
|
}
|
|
|
|
int main(void) {
|
|
assert(fastPow(7, 0) == 1);
|
|
assert(fastPow(3, 5) == 243);
|
|
assert(fastPow(2, 6) == 64);
|
|
return 0;
|
|
}
|