Найти все четырехзначные числа у которых все цифры различны с
Перейти к содержимому

Найти все четырехзначные числа у которых все цифры различны с

  • автор:

Найти все четырехзначные числа у которых все цифры различны с

а сколько таких чисел( неограниченно?)? они вводятся пользователем или из файла? кроме четырёхзначных чисел в файле есть другие числа или символы?

cat_in_flat
Посмотреть профиль
Найти ещё сообщения от cat_in_flat

Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
Сообщение от cat_in_flat
а сколько таких чисел( неограниченно?)?
9000. Не более.
Регистрация: 03.10.2013
Сообщений: 4
Сообщение от vadimych
9000. Не более.

ды мало ли, вдруг там всего три числа вводятся, кто ж их знает, что там препод сказал.
Угу, 9000, и все с клавы вручную.

cat_in_flat
Посмотреть профиль
Найти ещё сообщения от cat_in_flat

МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,255

cat_in_flat, ну почему вручную. Есть класс четырехзначных чисел, в котором находятся 9000 натуральных чисел (от 1000 до 9999). Нужно вывести подкласс с заданным свойством.

Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись ) Регистрация: 02.10.2013 Сообщений: 8 Сообщение от East Undia Trading
Нужен код данной программы на языке программирования C.

Если их надо вывести в столбик, тогда вот:

#include int main()
HEDO4EJIOBEK
Посмотреть профиль
Найти ещё сообщения от HEDO4EJIOBEK

Регистрация: 03.10.2013
Сообщений: 4
Сообщение от vadimych
9000. Не более.

Торможу с просонья. Не допёрло сразу про 9000 =D

А если надо не вывести, а имеющиеся проверить, можно замутить функцию для проверки (но опять же, ввод с клавы или чтение из файла?)

Но если мутить функцию, условие проверки придётся дополнить так:

#include inline int proverka(int m) //вот это наша функция, дя. < int i,j,n,k,l; i=m%10; j=m%100/10; n=m%1000/100; k=m/1000; l=m/10000; return ((i!=j)&&(j!=n)&&(j!=k)&&(n!=k)&&(n!=i)&&(k!=i)&&(k!=0)&&(l==0)) ?1 :0; >; void main() < int chislo; printf("vvedite chetyryohznachnoe chislo\n"); scanf("%d",&chislo); if (proverka(chislo)) printf("\n Podhodit!\n"); else printf("\nNoooooooooo!\n"); //system("pause"); >

Последний раз редактировалось Stilet; 12.10.2013 в 16:06 .

cat_in_flat
Посмотреть профиль
Найти ещё сообщения от cat_in_flat

Найти все четырехзначные числа у которых все цифры различны с

находит все четырехзначные числа abcd из заданного интервала, для которых выполняются условия:
— между цифрами нет совпадений;
— ab-cd=a+b+c+d — старшие разряды минус младшие равны сумме цифр в числе.

using namespace std;
int main()
setlocale(LC_ALL, «Russian»);

char a, b, c, d;
int n, Tmp;

cout for (n = 2000; n < 2500; n++)
Tmp = n;
d = Tmp % 10;
Tmp /= 10;
c = Tmp % 10;
Tmp /= 10;
b = Tmp % 10;
Tmp /= 10;
a = Tmp % 10;

if (((a * 10 + b) — (c * 10 + d)) == (a + b + c + d))

Не могу понять,почему не работает((

sesitos040387s
Посмотреть профиль
Найти ещё сообщения от sesitos040387s

Найти все четырехзначные числа у которых все цифры различны с

Найдите наибольшее четырёхзначное число, все цифры которого различны и которое делится на 2, 5, 9 и 11.

Решение

У чисел 2, 5, 9 и 11 нет общих делителей, поэтому если число делится на каждое из них, то оно делится и на их произведение. То есть искомое число делится на 2·5·9·11 = 990. Выпишем все четырёхзначные числа, которые делятся на 990: 1980, 2970, 3960, 4950, 5940, 6930, 7920, 8910, 9900. Наибольшее из них равно 9900, но у него есть совпадающие цифры. А наибольшее, у которого все цифры различны – это 8910.

Ответ

Источники и прецеденты использования

олимпиада
Название Турнир им.Ломоносова
номер/год
Название конкурс по математике
Год 2003
Задача
Номер 1

Помогите пожалуйста написать код на c#. Вопрос: все цифры данного четырехзначного числа различны;

Дали практику в котором полно заданий, и из этих заданий находится это задание, которое просто ну вообще не понятно, помогите объяснить что нужно делать алгоритм действий, либо помогите решить код.

Лучший ответ
Ищи продолжение вопроса на следующей странице
Данил ВасильевЗнаток (334) 4 года назад
Там следующие задания, это и есть полное задание
готфрид лейбниц Мастер (2276) Аллилуйя
Остальные ответы

Видимо, дается на входе четырехзначное число и надо проверить все ли цифры данного числа разные, на выходе True или False.
Например:
на входе 1234 на выходе True.
на входе 1123 на выходе False.
Как то так. Вариантов узнать так ли это тоже масса.
Либо работать как с числом, т. е. получать число разряда делением и отниманием.
Т. е. делим на 1000 и получаем первое число, отнимаем его (число* на 1000) и далее по разрядам.
Либо второй вариант переводим число в строку и работаем с каждым символом по отдельности, переводя его в простую цифру. И дальше сравнение с имеющимися числами.
Это самый простой вариант если не знаешь что делать и нет математического уклона.
Иначе тут скрыта какая ни будь муть взрывающая мозг, как на олимпиадах. 🙂
Язык C# не знаю, так что дальше сам.

int n = Convert.ToInt32(Console.ReadLine());
HashSet a = new HashSet();
bool b = false;
while (n>0)
int x = n % 10;
n /= 10;
b = a.Contains(x);
if (b)
break;
a.Add(x);
>
Console.WriteLine((!b).ToString());
Console.ReadKey();

int n = int.Parse(Console.ReadLine());
bool allDigitsAreUnique = n.ToString().ToCharArray().Select(x => int.Parse(x.ToString())).Distinct().Count() == 4;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *