[英]How do I effectively generate Perfect digit-to-digit invariant numbers in Java?
[英]How do I exclude numbers that have 5 as a digit in the hundredths in java
我對java相當陌生,我正在尋找更有效的解決方案來解決我的問題。 我有一個從 1 到 10 000 的數字列表,需要排除每個 3 的倍數(足夠簡單)和每個百分之五的數字,因此排除 500-599、1500-1599 等。我有一個解決方案,但我認為它效率不高。 是否可以將數字分解為字符串並排除那些以百分之一作為數字的數字,這樣我就不必為 1500-1599、2500-2599 等編寫相同的語句
for (int ii = 500; ii <= 599; ii++) {
if (a == ii) {
return false;
}
}
您可以除以 100 並檢查除以 10 后的余數是否為 5。
if (i / 100 % 10 != 5){
// ...
}
String s = String.valueOf(a);
If(s.length>2 && s.charAt(s.length-3)=='5')
{
return false;
}
如果我沒有弄亂語法,這應該可以工作。
通用方法
// value = (number % (10^position)) / 10^(position - 1)
// if (value != 5) {
for (int number = 399; number < 701; number += 10) {
if (number % (int) Math.pow(10, 3) / (int) Math.pow(10, 2) != 5) {
System.out.println(number);
}
}
如果條件變得等於@Unmitigated 的方法,則在計算冪並替換它們之后。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.