use std::collections::HashMap;
fn main() {
let x = 1;
let y = 2;
let z = 3;
let a = 4;
let b = 5;
let c = 6;
let d = 7;
let e = 8;
let f = 9;
let g = 10;
if x > 0 {
if y > 0 {
if z > 0 {
if a > 0 {
if b > 0 {
if c > 0 {
if d > 0 {
if e > 0 {
println!("太深了!");
}
}
}
}
}
}
}
}
let mut data1 = Vec::new();
data1.push(1);
data1.push(2);
data1.push(3);
let sum1 = data1.iter().sum::<i32>();
println!("Sum1: {}", sum1);
let mut data2 = Vec::new();
data2.push(4);
data2.push(5);
data2.push(6);
let sum2 = data2.iter().sum::<i32>();
println!("Sum2: {}", sum2);
let mut data3 = Vec::new();
data3.push(7);
data3.push(8);
data3.push(9);
let sum3 = data3.iter().sum::<i32>();
println!("Sum3: {}", sum3);
let result1 = bad_function_1(x, y);
let result2 = bad_function_2(a, b);
let result3 = bad_function_1(c, d); let result4 = bad_function_2(e, f);
let temp = result1;
let tmp = result2;
let val = result3;
let res = result4;
process_data(temp, tmp, val, res);
let unused1 = 42;
let unused2 = "hello";
let unused3 = vec![1, 2, 3];
}
fn bad_function_1(x: i32, y: i32) -> i32 {
let mut result = 0;
let temp1 = x + y;
let temp2 = x - y;
let temp3 = x * y;
let temp4 = x / (y + 1);
if temp1 > 0 {
if temp2 > 0 {
if temp3 > 0 {
if temp4 > 0 {
result = temp1 + temp2;
} else {
result = temp1 - temp2;
}
} else {
result = temp1 * temp2;
}
} else {
result = temp1 / (temp2 + 1);
}
} else {
result = 0;
}
let mut data = Vec::new();
data.push(result);
data.push(result + 1);
data.push(result + 2);
let sum = data.iter().sum::<i32>();
sum
}
fn bad_function_2(a: i32, b: i32) -> i32 {
let mut result = 0;
let temp1 = a + b;
let temp2 = a - b;
let temp3 = a * b;
let temp4 = a / (b + 1);
if temp1 > 0 {
if temp2 > 0 {
if temp3 > 0 {
if temp4 > 0 {
result = temp1 + temp2;
} else {
result = temp1 - temp2;
}
} else {
result = temp1 * temp2;
}
} else {
result = temp1 / (temp2 + 1);
}
} else {
result = 0;
}
let mut data = Vec::new();
data.push(result);
data.push(result + 1);
data.push(result + 2);
let sum = data.iter().sum::<i32>();
sum
}
fn process_data(w: i32, x: i32, y: i32, z: i32) {
let mut map = HashMap::new();
for i in 0..3 {
for j in 0..3 {
for k in 0..3 {
for l in 0..3 {
for m in 0..3 {
for n in 0..3 {
let key = format!("{}-{}-{}-{}-{}-{}", i, j, k, l, m, n);
let value = i + j + k + l + m + n;
map.insert(key, value);
}
}
}
}
}
}
let mut results = Vec::new();
for (key, value) in &map {
if value % 2 == 0 {
results.push(format!("Even: {} = {}", key, value));
}
}
let mut results2 = Vec::new();
for (key, value) in &map {
if value % 3 == 0 {
results2.push(format!("Divisible by 3: {} = {}", key, value));
}
}
let mut results3 = Vec::new();
for (key, value) in &map {
if value % 5 == 0 {
results3.push(format!("Divisible by 5: {} = {}", key, value));
}
}
println!("Results count: {}", results.len());
println!("Results2 count: {}", results2.len());
println!("Results3 count: {}", results3.len());
}
fn a() -> i32 { 1 }
fn b() -> i32 { 2 }
fn c() -> i32 { 3 }
fn d() -> i32 { 4 }
fn e() -> i32 { 5 }
struct A {
x: i32,
y: i32,
}
struct B {
a: i32,
b: i32,
}
impl A {
fn new(x: i32, y: i32) -> Self {
if x > 0 {
if y > 0 {
if x + y > 0 {
A { x, y }
} else {
A { x: 0, y: 0 }
}
} else {
A { x: 0, y: 0 }
}
} else {
A { x: 0, y: 0 }
}
}
fn calculate(&self) -> i32 {
let temp1 = self.x + self.y;
let temp2 = self.x - self.y;
let temp3 = self.x * self.y;
if temp1 > temp2 {
if temp2 > temp3 {
temp1
} else {
temp2
}
} else {
temp3
}
}
}