Получить 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д