код должен перебрать все числа до тех пор, пока не найдет два числа, которые могут выполнить условие:Мой код не работает? Код Glitch?
фактора числа должны состоять из половины исходных чисел цифр И чисел фактора не должен быть кратное 100. PS. число факторов являются T и H.
Однако код не работает
import java.util.Scanner;
public class VampierSlayer {
public static void main(String[] args) {
Scanner S = new Scanner(System.in);
System.out.println("Input A Even Digit Integer");
int i = S.nextInt();
String iS = Integer.toString(i);
int t = 0;
int h = 0;
for (h = 0; h < 1000000000; h++) {
if (h * t == i && iS.length()/2 == Integer.toString(h).length()
&& iS.length()/2 == Integer.toString(t).length() && h % 100 == 1 && t % 100 == 1) {
System.err.println("Finish");
break;
} else {
t++;
h = h - 1;
}
if (t > 1000) {
t = 0;
h = h + 1;
}
System.out.println(t + " " + h);
}
System.out.println(Integer.toString(h) + "," + t);
}
}
Ах, 'VampierSlayer' должен быть' VampireSlayer', конечно :). На более серьезное замечание: в чем проблема? Что не работает? Вампиров не убивают? – Tunaki
Проблема в том, что если я введу число ... ex 1260: программа должна вернуть 21, 60. Но программа не делает этого. 21 и 60 являются единственными числами, которые удовлетворяют условиям –
Итак, что же * делает * вместо этого? Что произошло, когда вы отлаживали код за строкой, чтобы убедиться, что он работает так, как вы ожидали? –