Jump to content

Dinesman's multiple-dwelling problem: Difference between revisions

m
rust example
m (Sidef code update)
m (rust example)
Line 4,140:
<pre>
"Smith Cooper Baker Fletcher Miller"
</pre>
 
=={{header|Rust}}==
<syntaxhighlight lang = "rust">use itertools::Itertools;
 
 
fn main() {
for p in (1..6).permutations(5) {
let baker: i32 = p[0];
let cooper: i32 = p[1];
let fletcher: i32 = p[2];
let miller: i32 = p[3];
let smith: i32 = p[4];
if baker != 5 && cooper != 1 && fletcher != 1 && fletcher != 5 && cooper < miller &&
(smith - fletcher).abs() > 1 && (cooper - fletcher).abs() > 1 {
print!("Baker on {baker}, Cooper on {cooper}, ");
println!("Fletcher on {fletcher}, Miller on {miller}, Smith on {smith}.");
break;
}
}
}
</syntaxhighlight>{{out}}
<pre>
Baker on 3, Cooper on 2, Fletcher on 4, Miller on 5, Smith on 1.
</pre>
 
4,111

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.