1 (4 года 11 месяцев назад)

Тема: Программирование. Функции

Подсобите, а то лет 10 не программил
есть массив f = [1], [2], [5], [10], [25] номиналы монеток
                  e= [15],[10],[10],[10],[2] их каждой количество
нужно написать функцию сдачи Change(b) b - остаток, должен выдаваться наименьшим кол-вом монет
например

Change(17) = [0],[1],[1],[1],[0]
Change(47) = [0],[1],[0],[2],[1]
Change(100)=[0],[0],[0],[5],[2]

2 (4 года 11 месяцев назад)

Re: Программирование. Функции

это слишком сложно, для женщины которая карячит по грязям на себе КАМаз

Заказы на компьютерную вышивку. ШЕВРОНЫ.

3 (4 года 11 месяцев назад)

Re: Программирование. Функции

Поищи тему тут уже кто то с полмесяца назад решил данную проблему

4 (4 года 11 месяцев назад)

Re: Программирование. Функции

import java.util.*;

public class change
{
 static int [] f = {1,   2,  5, 10, 25};
 static int [] e = {15, 10, 10, 10,  2};

 public static int Sum1(int [] x1)
 {
   int i, s0 = 0;

   for (i=0; i<x1.length; i++)
     if (x1[i] > 0)
        s0 = s0 + x1[i]*f[i];

   return s0;
 }

 public static int [] Change(int t)
 {
   int [] x = {0, 0, 0, 0, 0};
   int i, j, t1;

   for (i=f.length-1; i>=0; i--)
    {
      for (j=0; j < e[i]; j++)
        if (Sum1(x)+f[i] <= t)
          {
             x[i] = x[i] + 1;
          }
    }
     
   return x;
 }

 public static void main(String args[])
 {
  String p1;
  int g1;

  if (args.length >= 1)
  {
    p1 = args[0];
  }
  else
  {
    Scanner in = new Scanner(System.in);
    System.out.println("Введите сумму (положительное целое число > 0) цифрами: ");
    p1 = in.next();
  }

  try
  {
    g1 = Integer.parseInt(p1);
  }
  catch (NumberFormatException e)
  {
    g1 = 0;
  }
  
  if (g1 > 0)
  {
    int [] ch1 = Change(g1);
    System.out.print("Change("+g1+") = ");
    for (int i=0; i<ch1.length; i++)
      {
        System.out.print("["+ch1[i]+"]");
        if (i < ch1.length-1)
           System.out.print(",");
      }
  }
  else
  {
    System.out.println("Число задано неверно");
  }

 }
}
96О-9сорак1-48-осемнацать