mirror of
https://github.com/voltrevo/ValueScript.git
synced 2026-04-18 03:00:27 -04:00
projEuler4.ts
This commit is contained in:
33
inputs/passing/projEuler4.ts
Normal file
33
inputs/passing/projEuler4.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
export default function main() {
|
||||
let largest = 0;
|
||||
|
||||
for (let i = 999; i >= 100; i--) {
|
||||
for (let j = i; j >= 100; j--) {
|
||||
const product = i * j;
|
||||
|
||||
if (product <= largest) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (isPalindrome(product)) {
|
||||
largest = product;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return largest;
|
||||
}
|
||||
|
||||
function isPalindrome(n: number) {
|
||||
let nStr = `${n}`;
|
||||
let lenM1 = nStr.length - 1;
|
||||
let halfLen = nStr.length / 2;
|
||||
|
||||
for (let i = 0; i < halfLen; i++) {
|
||||
if (nStr[i] !== nStr[lenM1 - i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -245,7 +245,12 @@ pub fn op_sub(left: Val, right: Val) -> Val {
|
||||
Val::Number(_) => Val::Undefined, // TODO: toString etc
|
||||
Val::String(string_data) => {
|
||||
let right_index = match right.to_index() {
|
||||
None => { return Val::Undefined }
|
||||
None => {
|
||||
return match right.val_to_string().as_str() == "length" {
|
||||
true => Val::Number(string_data.len() as f64),
|
||||
false => Val::Undefined,
|
||||
}
|
||||
},
|
||||
Some(i) => i,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user