skilk Опубликовано 21 января, 2010 Жалоба Поделиться Опубликовано 21 января, 2010 Вопрос, как сделать что бы прога генерила пароли в следующем формате: Будем использовать латинские буквы строчного и прописного регистра + цифры. Например необходимо получить пароли от 3 до 6 символов, результат должен получиться такой: aaa aab aac aad ... aa1 aa2 aa3 ... aaA aaB aaC ... ... ZZY ZZZ Подскажите как это закодить на Си Шарп, я чё то уже бошку сломал 8-) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 21 января, 2010 Жалоба Поделиться Опубликовано 21 января, 2010 (изменено) skilk: Ну, шарпованного C у меня нет, но, надеюсь, с обычного C сам сможешь переписать. #include<stdio.h>main(){int i,j,cnt=0,n=0,m,a[20]; for(i=0;i<20;i++)a[i]=0; //a[>max m]char b[]="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";while(b[n++]); n--;printf("Length ? "); scanf("%d",&m); getchar();while(!a[0]){ for(i=m;i;i--)printf("%c",b[a[i]]); printf("\n"); cnt++; a[j=m]++; while(a[j]==n){a[j]=0; a[--j]++;}}printf("variants = %d\n",cnt); getchar();} Тут спрашивает длину комбинации и выдает все возможные комбинации этой длины. Если нужно сразу для набора длин, скажем, с 3 до 6, то ввод длины комбинации надо заменить на цикл с перебором m от 3 до 6. Однако только для длины 6 придется выдать примерно 56 миллиардов строк, так что к таким заданиям надо подходить осторожно :blush2: Лучше пробуй на длине 2 или 3 :) Компилировал на Dev-C++. Изменено 21 января, 2010 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
skilk Опубликовано 22 января, 2010 Автор Жалоба Поделиться Опубликовано 22 января, 2010 Большое спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти