Rename sheet folders to assure proper sorting

This commit is contained in:
Lukas Kalbertodt
2017-02-16 15:12:56 +01:00
parent aaf0332117
commit b3664c6ffd
74 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,15 @@
Aufgabe 4.1: Programm schöner machen
====================================
In dieser Aufgabe dürft *ihr* mal die Aufgabe der Tutoren übernehmen. Gegeben
ist ein Programm, das funktioniert und das tut, was es soll. Es gibt alle
Zahlen zwischen 1 und 20, die sowohl eine Primzahl als auch eine ["fröhliche"
Zahl](https://en.wikipedia.org/wiki/Happy_number) sind, aus.
Jedoch ist der Quellcode alles andere als hübsch. Eure Aufgabe ist es, den
Quellcode zu verbessern. D.h., ihr sollt die Funktionsweise des Programms gar
nicht verändern, sondern nur den Quellcode.
Versucht, den Code möglichst kurz, gut lesbar und idiomatisch zu gestalten.
So viel sei gesagt: Es gibt *sehr viele* Stellen, an denen etwas verbessert
werden kann! Versucht möglichst, alle dieser Stellen zu finden.

69
aufgaben/sheet04/task1/bad.rs Executable file
View File

@ -0,0 +1,69 @@
// print if they are both
fn main() -> () {
for iterationnumber in &[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] {
let iterationnumber = *iterationnumber;
if !happy_prime(iterationnumber) {} else {
print!("{}", iterationnumber);
println!(" is a happy prime!");
}
}
}
// is it botH?
fn happy_prime(n: i32) -> bool {
match check_if_number_is_happy(n) {
false => return false,
_ => {}
}
if check_if_number_is_prime(n) == true {
return true;
} else {
return false;
}
}
// Is it a happy number? https://en.wikipedia.org/wiki/Happy_number
fn check_if_number_is_happy(number: i32) -> bool {
let mut number: i32= number;
while number > 1 {
let mut tmp = 0;
while number > 0 {
tmp = tmp + (number %10) * (number%10);
number = number / 10;
}
number = tmp;
// We ended up in a cycle -> not happy
if (number == 4) {
return false;
}
}
return true;
}
// is it priem?
fn check_if_number_is_prime(n: i32) -> bool {
if n == 1 {
return false;
}
if n == 2 {
return false;
}
let mut teilerGefunden:bool = false;
let mut teiler:i32= 2;
while (teiler < n) {
if (n % teiler == 0) {
teilerGefunden = true;
}
teiler = teiler + 1;
}
return !teilerGefunden;
}