u4 and utils

This commit is contained in:
DavidOnTop 2024-12-04 09:06:20 +01:00
parent 5047f3ed6c
commit 1f10c7a15f
No known key found for this signature in database
GPG key ID: 5D05538A45D5149F
5 changed files with 1653 additions and 5 deletions

1610
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,10 @@
[package]
name = "ulohy"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
edition = "2024"
[profile.dev.package."*"]
opt-level = 3
[dependencies]
turtle = "1.0.0-rc.3"

View file

@ -46,6 +46,7 @@ pub mod u45;
pub mod u46;
pub mod u47;
pub mod u48;
mod utils;
fn main() {
let ulohy = vec![

View file

@ -1 +1,16 @@
pub fn main() {}
/*
Vytvorte podprogram palindrom, ktorý zistí, či je slovo zadané na vstupe palindróm. Slovo zadávame malými písmenami, nepoužívame medzery a diakritiku.
Poznámka: Palindróm je slovo, veta, číslo (všeobecne akákoľvek postupnosť symbolov), ktoré vlastnosť, že ju možno čítať v ľubovoľnom smere (sprava doľava alebo zľava doprava) a vždy rovnaký význam.
*/
pub fn main() {
let mut input = String::new();
std::io::stdin().read_line(&mut input).unwrap();
println!("{}", palindrome(input.trim().to_string()));
}
fn palindrome(s: String) -> bool {
s.chars().zip(s.chars().rev()).all(|(a, b)| a == b)
}

23
src/utils.rs Normal file
View file

@ -0,0 +1,23 @@
use turtle::Point;
pub struct Vec2 {
pub x: f64,
pub y: f64,
}
impl Vec2 {
pub fn new(x: f64, y: f64) -> Self {
Self { x, y }
}
pub fn from_points(p1: Point, p2: Point) -> Self {
Self {
x: p2.x - p1.x,
y: p2.y - p1.y,
}
}
pub fn size(&self) -> f64 {
(self.x.powi(2) + self.y.powi(2)).sqrt()
}
}