Выведите одно число-количество деталей, которое может получиться по заданной технологии - VB
Формулировка задачи:
Имеется N кг металлического сплава.Из него изготавливают заготовки массой K кг каждая.Поле этого из каждой заготовки вытачиваются детали массой M кг каждая(из каждой заготовки вытачивают максимально возможное количество деталей).Если от заготовок после этого что-то остается,то этот материал возвращают к началу производственного цикла и сплавляют с тем,что осталось при заготовлении заготовок.Если того сплава,который получился,достаточно для изготовления хотя бы одной заготовки,то из него снова изготавливают заготовки,из них-детали и т.д.
Напишите программу,которая вычислит,какое количество деталей может быть получено по этой технологии из имеющихся исходно N кг сплава.
Входные данные
Вводятся N,K,M.Все числа натуральные и не превосходят 200.
Выходные данные
Выведите одно число-количество деталей,которое может получиться по такой технологии.
ПРИМЕР
Z_2.in
10 5 2
13 5 3
14 5 3
13 9 4
Z_2.out
4
3
4
2
У меня в выходных данных последнее число выводится не
2
, а4
Помогите найти ошибку в коде
Листинг программы
- Dim N As Integer 'масса металлического сплава в кг '
- Dim K As Integer 'масса заготовок в кг '
- Dim M As Integer 'масса деталей в кг '
- Dim kolz As Integer 'количество заготовок '
- Dim koldet As Integer 'количество деталей '
- Dim ost As integer 'остаток от заготовок '
- Private Sub Command1_Click()
- ost = 0
- Open "c:\111\Z_2.in" For Input As #1
- Open "c:\111\Z_2.out" For Output As #2
- Do While Not EOF(1)
- Input #1, N, K, M
- kolz = (ost + N) \ K
- koldet = kolz * (K \ M)
- ost = kolz * (K Mod M)
- Write #2, koldet
- Loop
- Close #1
- Close #2
- End Sub
Решение задачи: «Выведите одно число-количество деталей, которое может получиться по заданной технологии»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim N As Integer 'масса металлического сплава в кг '
- Dim K As Integer 'масса заготовок в кг '
- Dim M As Integer 'масса деталей в кг '
- Dim kolz As Integer 'количество заготовок '
- Dim koldet As Integer 'количество деталей '
- Dim ost As Integer 'остаток от заготовок '
- Dim total As Integer
- Open "c:\111\Z_2.in" For Input As #1
- Open "c:\111\Z_2.out" For Output As #2
- Do While Not EOF(1)
- total = 0
- Input #1, N, K, M
- Do
- kolz = N \ K
- koldet = kolz * (K \ M)
- N = N - koldet * M
- total = total + koldet
- Loop Until N < K
- Write #2, total
- Loop
- Close #1
- Close #2
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д