Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы / 1
.hs f1_1 a 1=a
f1_1 a n=a*(f1_1 a (n-1))
f1_2 a 1=a
f1_2 a n=if ((mod n 2)==1)
then (f1_2 (a*a) (f1_5ch n 2))*a
else (f1_2 (a*a) (f1_5ch n 2))
f1_3 :: Integer->Integer->Integer
f1_3 a 1=a
f1_3 a b= a+ f1_3 a (b-1)
f1_4 :: Integer -> Integer -> Integer
f1_4 a 0=a
f1_4 a b=f1_4 (a+1) (b-1)
ch :: Integer -> Integer -> Integer-> Integer
ch a d k=if ((a-d)<0) then k
else ch (a-d) d (k+1)
f1_5ch :: Integer->Integer->Integer
f1_5ch a d=ch a d 0
f1_5ost :: Integer->Integer->Integer
f1_5ost a d= a-d*(ch a d 0)
f1_6 0=1
f1_6 n=n*f1_6 (n-1)
f1_7 0= 1
f1_7 n= 1/(f1_6 n)+f1_7 (n-1)
f1_8 n=f18 1 1 1 n
f18 s f i n= if (i==n+1)
then
s
else
(s+f18 (s/i) (f*i) (i+1) n )
fmain ::Integer->Integer->Bool
fmain n 2= True
fmain n k=if (mod n k==0) then False
else (fmain n (k-1))
f1_11::Integer-> Bool
f1_11 n=fmain n (n-1)
f12main::Integer->Integer->Integer
f12main n k= if (k*k>n) then f12main n (k-1)
else k
f1_12::Integer->Integer
f1_12 n= f12main n n
f1_1 a n=a*(f1_1 a (n-1))
f1_2 a 1=a
f1_2 a n=if ((mod n 2)==1)
then (f1_2 (a*a) (f1_5ch n 2))*a
else (f1_2 (a*a) (f1_5ch n 2))
f1_3 :: Integer->Integer->Integer
f1_3 a 1=a
f1_3 a b= a+ f1_3 a (b-1)
f1_4 :: Integer -> Integer -> Integer
f1_4 a 0=a
f1_4 a b=f1_4 (a+1) (b-1)
ch :: Integer -> Integer -> Integer-> Integer
ch a d k=if ((a-d)<0) then k
else ch (a-d) d (k+1)
f1_5ch :: Integer->Integer->Integer
f1_5ch a d=ch a d 0
f1_5ost :: Integer->Integer->Integer
f1_5ost a d= a-d*(ch a d 0)
f1_6 0=1
f1_6 n=n*f1_6 (n-1)
f1_7 0= 1
f1_7 n= 1/(f1_6 n)+f1_7 (n-1)
f1_8 n=f18 1 1 1 n
f18 s f i n= if (i==n+1)
then
s
else
(s+f18 (s/i) (f*i) (i+1) n )
fmain ::Integer->Integer->Bool
fmain n 2= True
fmain n k=if (mod n k==0) then False
else (fmain n (k-1))
f1_11::Integer-> Bool
f1_11 n=fmain n (n-1)
f12main::Integer->Integer->Integer
f12main n k= if (k*k>n) then f12main n (k-1)
else k
f1_12::Integer->Integer
f1_12 n= f12main n n
Соседние файлы в папке Лабораторные работы