Как получить вывод для программы комбинации замков? Что не так в моей программе?
Рассмотрим кодовый замок со слотом, в котором каждый слот содержит циферблат, пронумерованный десятью последовательными десятичными целыми числами в диапазоне от 0 до 9. За одну операцию вы можете выбрать слот и повернуть циферблат одним щелчком мыши в положительном направлении. (для увеличения отображаемого числа на) или в отрицательном направлении (для уменьшения отображаемого числа на). Обратите внимание, что из-за цикличности циферблата следующая цифра после 9 - 0, а цифра перед 0 - 9). Например, если в настоящий момент на циферблате отображается цифра 0, вы можете повернуть циферблат либо на 1 (положительное направление), либо на 9 (отрицательное направление) за одну операцию.
Учитывая начальную конфигурацию чисел в каждом слоте и некоторую желаемую конфигурацию чисел, определите минимальное количество операций, которые вы должны выполнить, чтобы изменить слоты замка на желаемую конфигурацию.
import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class lock { public static void main(String[] args) { Scanner s=new Scanner(System.in); int n,m,sum=0; int n1[]=new int[5]; int n2[]=new int[5]; for(int i=0;i<5;i++) n1[i]=s.nextInt(); for(int j=0;j<5;j++) n2[j]=s.nextInt(); for(int k=0;k<5;k++) { n=Math.abs(n2[k]-n1[k]); m=Math.abs((9-n2[k])+(n1[k]+1)); if(n<=m) sum=sum+n; else sum=sum+m; n=0;m=0; } System.out.println(sum); } }
Что я уже пробовал:
Эта формула, которая дает мне выход 13, правильный выход - 9.
n=Math.abs(n2[k]-n1[k]); m=Math.abs((9-n2[k])+(n1[k]+1));