Напиши функцию факториала на go
Вот простая реализация функции факториала в Go:

package main

import fmt

func factorial(n int) int {
    if n == 0 {
        return 1
    }
    return n * factorial(n-1)
}

func main() {
    fmt.Println(factorial(5))
}

Этот код определяет функцию с именем factorial, которая принимает целое число n в качестве входных данных и возвращает факториал n. Факториал n вычисляется путём умножения n на факториал n-1. Если n = 0, функция возвращает 1.  В функции main() вычисляется факториал, равный 5, и выводится в консоль.
хорошо, а теперь сделай её используя цикл for
Вот реализация функции факториала на основе цикла for:

```go
package main

import fmt

func factorial(n int) int {
	var factorial = 1

	for i := 1; i <= n; i++ {
		factorial = factorial * i
	}

	return factorial
}

func main() {
	fmt.Println(factorial(5))
}
```
Перепиши функцию факториала на основе цикла for на Си
#include <stdio.h>

int factorial(int n) {
    int result = 1;
    for (int i = 1; i <= n; i++) {
        result *= i;
    }
    return result;
}

int main() {
    printf(%d, factorial(5));
    return 0;
}