Redaksiya
Alqoritm Analizi
Birinci qutuya topdan hər hansı birini qoya bilərsiniz. İkinci qutudakı topun rəngi birinci qutudakı ilə eyni olmamalıdır. Beləliklə, ikinci qutuya rəngdən hər hansı bir top qoya bilərsiniz. -ci qutuya, -ci qutudakı ilə rəngi eyni olmayan hər hansı bir rəngli top qoya bilərsiniz.
Beləliklə, qutularda topların müxtəlif yerləşmə variantlarının sayı -yə bərabərdir
Alqoritm Tətbiqi
Hesablamaların aparılacağı modulu müəyyən edin.
#define MOD 1000000007
Funksiya powmod
dəyərini hesablayır.
long long powmod(long long x, long long n, long long m) { if (n == 0) return 1; if (n % 2 == 0) return powmod((x * x) % m, n / 2, m); return (x * powmod(x, n - 1, m)) % m; }
Proqramın əsas hissəsi. Giriş dəyəri -i oxuyun.
scanf("%lld", &n);
Cavabı hesablayın və çap edin.
res = (powmod(n - 1, n - 1, MOD) * n) % MOD; printf("%d\n", res);
Java Tətbiqi
import java.util.*; public class Main { public final static long MOD = 1000000007; static long PowMod(long x, long n, long m) { if (n == 0) return 1; if (n % 2 == 0) return PowMod((x * x) % m, n / 2, m); return (x * PowMod(x, n - 1, m)) % m; } public static void main(String[] args) { Scanner con = new Scanner(System.in); long n = con.nextLong(); long res = (PowMod(n - 1, n - 1, MOD) * n) % MOD; System.out.println(res); con.close(); } }
Python Tətbiqi – Xüsusi Quvvət Funksiyası
Funksiya myPow
dəyərini hesablayır.
def myPow(x, n, m): if (n == 0): return 1 if (n % 2 == 0): return myPow((x * x) % m, n / 2, m) return (x * myPow(x, n - 1, m)) % m
Proqramın əsas hissəsi. Hesablamaları aparacağımız mod = 10^9 + 7
modulunu müəyyən edin.
mod = 10 ** 9 + 7
Giriş dəyəri -i oxuyun.
n = int(input())
Cavabı hesablayın və çap edin.
print(n * myPow(n - 1, n - 1, mod) % mod)
Python Tətbiqi
Hesablamaları aparacağımız mod = 10^9 + 7
modulunu müəyyən edin.
mod = 10 ** 9 + 7
Giriş dəyəri -i oxuyun.
n = int(input())
Cavabı hesablayın və çap edin.
print(n * pow(n - 1, n - 1, mod) % mod)