Программирование/Примеры программ на языке программирования Rust: различия между версиями

Содержимое удалено Содержимое добавлено
м AKA MBG переименовал страницу Примеры программ на языке программирования Rust в Программирование/Примеры программ на языке программирования Rust без оставления перенаправления: подстраница кафедры
Нет описания правки
Строка 231:
}
</syntaxhighlight>
 
== Поиск [[w:Совершенное_число|совершенных чисел]] ==
<syntaxhighlight lang="rust">
use std::time::Instant;
static mut TIME:Option<Instant>=None;
 
#[allow(non_camel_case_types)]
type perfnum_numb_type = u32;
fn perfnum_numb(x:perfnum_numb_type)-> Vec<perfnum_numb_type>
{
let mut arr=Vec::new();
let width={(x).to_string().len()+1};
let mut i0=1;
while i0<=x
{
let mut acc:perfnum_numb_type=1;
let mut i1=2;
while i1<i0
{
if i0%i1==0
{
acc+=i1;
}
i1+=1;
}
if acc==i0
{
unsafe
{
if let Some(t) = TIME
{
let time=Instant::now().duration_since(t);
arr.push(i0);
println!("number: {:<width$} time: {:?}", format!("{},", i0), time, width=width);
}
}
}
i0+=1;
}
return arr;
}
 
fn main()
{
unsafe{TIME=Some(Instant::now());}
/*let arr=*/perfnum_numb(8128);
let time_end=Instant::now();
unsafe
{
if let Some(t) = TIME
{
let time=time_end.duration_since(t);
println!("time: {:?}", time);
}
}
}
 
</syntaxhighlight>
 
 
[[Категория:Исходные коды]]