Получить n четырёхзначных чисел, в записи которых нет двух одинаковых цифр - C (СИ)
Формулировка задачи:
условие задачи..
получить n четырёхзначных чисел, в записи которых нет двух одинаковых цифр.
пробовал написать на с++
вот код:
вроде бы работает..
помогите перевести с С++ на С. и если что то написано не правильно то подредактируйте.
#include <ctime>
#include <cstdlib>
#include <stdio.h>
#include <iostream>
using namespace std;
int main(void){
int x,m;
int k,l,n,b,h,p,z,d,o;
scanf("%i",&k);
for(k=1; k<l; k++) {
cout << "10 random numbers (1000..9999): " << endl;
srand(time(NULL));
for(int i=0;i<k;i++) cout << rand() % 9999 + 1000 << " ";
n=m-(m/10)*10;
b=m-n;
o=m-(m/100)*100;
z=m-(0/10);
h=m-(m/1000)*1000;
p=m-(h/100);
z=m-(m/10000);
d=z/1000;
m=x;
if(b!=z, z!=p, z!=d, d!=p, d!=b, b!=p){
printf("%i",x);
}
else{
return 1;
};
return 0;
};
}Решение задачи: «Получить n четырёхзначных чисел, в записи которых нет двух одинаковых цифр»
textual
Листинг программы
#include <ctime.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
//using namespace std;
int main(void){
int x,m;
int k,l,n,b,h,p,z,d,o;
scanf("%i",&k);
for(k=1; k<l; k++) {
cout << "10 random numbers (1000..9999): " << endl;
srand(time(NULL));
for(int i=0;i<k;i++){
cout << rand() % 9999 + 1000 << " ";
n=m-(m/10)*10;
b=m-n;
o=m-(m/100)*100;
z=m-(0/10);
h=m-(m/1000)*1000;
p=m-(h/100);
z=m-(m/10000);
d=z/1000;
m=x;
if(b!=z, z!=p, z!=d, d!=p, d!=b, b!=p){
printf("%i",x);
}
else{
return 1;
};
return 0;
};
}
Объяснение кода листинга программы
Код генерирует четырезначные числа с помощью функции rand() и оператора модуля (%). Затем он проверяет, содержатся ли в числе две одинаковые цифры. Если это так, число не выводится. В конце программы выводится сообщение с 10 сгенерированными числами. Список переменных и их значений:
- x - первое сгенерированное число
- m - текущее проверяемое число
- k - количество чисел для проверки
- l - максимальное значение для переменной k
- n - первая цифра числа m
- b - вторая цифра числа m
- o - третья цифра числа m
- z - четвертая цифра числа m
- h - первая цифра числа m в тысячах
- p - вторая цифра числа m в тысячах
- d - первая цифра числа m в десятках тысяч
- z - первая цифра числа m в миллионах
- m - исходное сгенерированное число
- i - счётчик для цикла генерации чисел
- a - не используется
- printf - функция вывода чисел
- rand() - генератор случайных чисел
- time(NULL) - функция получения текущего времени
- srand(time(NULL)) - инициализация генератора случайных чисел
- scanf(
%i,&k) - ввод числа для переменной k