• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Есть такое задание.

gopgopgop

Member
13.03.2020
7
0
BIT
0
Вообщем, у меня есть задание на C#. Дано диапазон чисел от 100 до 500. Нужно узнать те числа, цифры из которых будут давать в сумме 15. ( Как например число 492 ( 4 + 9 + 2 = 15 ) ).
Разрешено использовать циклы, условные операторы. Про массивы придётся забыть(.
 

Andhacker

Green Team
25.04.2017
125
32
BIT
2
Вообщем, у меня есть задание на C#. Дано диапазон чисел от 100 до 500. Нужно узнать те числа, цифры из которых будут давать в сумме 15. ( Как например число 492 ( 4 + 9 + 2 = 15 ) ).
Разрешено использовать циклы, условные операторы. Про массивы придётся забыть(.
Посмотри про деление с остатком и без
 

pp11

Green Team
16.09.2018
201
82
BIT
1
Одно из самых простых заданий, которые можно было придумать.
Делишь на 10 с остатком и без.
Получаешь 3 числа и если сумма равна 15, то выводишь его на экран.

Любой справится с этим.
 

N1GGA

Codeby Team
Администратор
16.07.2018
367
357
BIT
502
Одно из самых простых заданий, которые можно было придумать.
Делишь на 10 с остатком и без.
Получаешь 3 числа и если сумма равна 15, то выводишь его на экран.

Любой справится с этим.
Для ленивых, код в студию.
 

viktor plutt

Заблокирован
13.03.2020
17
2
BIT
0
Для ленивых - разгадка на самом понятном для компа языке :)

Код:
sztewmw  db "%d",0
mov  esi, 100
mov  ebx, 30h
.while esi <= 500                
    invoke  wsprintfA, addr buffwrp, addr sztewmw, esi
    lea     edi, buffwrp      
    movzx   eax, byte ptr [edi]        
    sub     eax, ebx
    movzx   ecx, byte ptr [edi+1]    
    sub     ecx, ebx
    movzx   edx, byte ptr [edi+2]        
    sub     edx, ebx
    add     eax, ecx  
    add     eax, edx
    .if  eax == 15
      invoke  MessageBox, 0, addr buffwrp, 0, 0
    .endif
    inc     esi
.endw
 

gopgopgop

Member
13.03.2020
7
0
BIT
0
Одно из самых простых заданий, которые можно было придумать.
Делишь на 10 с остатком и без.
Получаешь 3 числа и если сумма равна 15, то выводишь его на экран.

Любой справится с этим.
Спасибо за ответ, но каким образом у меня должно получиться 3 числа? Можешь скинуть код? А то я что-то туплю.
 

viktor plutt

Заблокирован
13.03.2020
17
2
BIT
0
Если переделать то что я написал выше на С то получится что-то вроде этого

Код:
        string   str;           
        int      res;

        for (int num = 100; num < 500; num++)
        {             
           str = Convert.ToString(num); 
           res = 0;
           for (int i = 0; i < str.Length; i++)
           {                                         
              res += Convert.ToInt32(str[i]);             
              if (res == 15){
                 System.Console.Write(str);               
              }                                               
           }
         }

между прочем писанины получается не меньше :)
 

Ckoriton

Member
10.03.2020
9
0
BIT
0
Это на питоне, и говнокогд (уверен можно было сделать по лучше), но рабочий)
В коментариях описанно число 492, но цикл работает для всех чисел от 100 до 500

Python:
for items in range(100, 500): #от 100 до 500
...     a=items%10 #a = 492 деление с остачей на 10 = 2
...     b=items//10  #b = 492 деление без остатка на 10 = 49
...     c=b//10 #с = 49 деление без остатка на 10 =
...     g=b%10 #g = 49 деление с остатка на 10 = 9
...     if a+c+g==15: #если 2+4+9 равняеться 15...
...             print(items) #вывести все числа
 
Последнее редактирование:

viktor plutt

Заблокирован
13.03.2020
17
2
BIT
0
По моему компу никакого понту нет делением это решать или просто сложением :)

Код:
egjkertkl db "%d",0

    mov  esi, 100
    .while esi <= 500
        mov  eax, esi
        mov  ebx, 10
        xor  edx,edx
        div  ebx
        mov  ecx, edx
        xor  edx, edx
        div  ebx
        add  eax, ecx
        add  eax, edx
        .if eax == 15
           invoke wsprintfA, addr sdrkkg, addr egjkertkl, esi
           invoke MessageBox, 0, addr sdrkkg, 0,0
        .endif
        inc esi
     .endw
Код:

но писанины на высокоуровнем языке будет наверняка меньше
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!