Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void transl (int i, int n, int m, int * k) {
- int a[25]; //выделение массива большего, чем требуется
- for (int j = 1; j < m + 1; j++) {
- a[m - j] = i % n;
- i -= i % n;
- i /= n;
- }
- int minus = 0;
- for (int k = 0; k < m; k++) {
- if (a[k] == 0) {
- minus++;
- }
- }
- if (minus == 1) {
- (*k) ++;
- for (int j = 0; j < m; j++) {
- printf ("%d", a[j]);
- }
- printf ("\n");
- }
- }
- int main (void) {
- int n, m, k = 0;
- printf ("Введите число символов и длину комбинации\n");
- scanf ("%d", &n);
- scanf ("%d", &m);
- int l = 1;
- for (int i = 0; i < m; i++) {
- l *= n;
- }
- for (int i = 0; i < l; i++) {
- transl (i, n, m, &k);
- }
- printf ("Количество таких комбинаций = %d", k);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement