-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpracticeproblem.gs
More file actions
68 lines (39 loc) · 1.33 KB
/
practiceproblem.gs
File metadata and controls
68 lines (39 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
basicfoldr.xs=foldr.f.[].xs
f.n.ls=n::ls
basicfoldr1.xs=foldr.(\x ls->x::ls).[].xs
basicfoldr2=foldr.(::).[]
-- Sum of list using foldr
slf.xs=foldr.(+).(0).xs
-- Concating list using foldr
clf=foldr.(++).[]
-- Adding the squares of the sum using foldr
sqsumf=map.(\x->x*x);foldr.(+).(0)
sqsumfsir1.xs=foldr.(+).(0).(map.(\x->x*x).xs)
sqsumfsir2.xs=foldr.((\x->x*x);(+)).(0).xs
-- List Comprehension
sq.n=[x*x | x<-[1...n]]
mysq2.n=[x*x | x<-[2,4...n]]
sq3.n=[x*x | x<-[1...n],mod.x.2==0]
common.l1.l2=[x| x<-l1,y<-l2,x==y]
-- Squaring and adding using list coprehension
sqlc.xs=foldr.(+).0.[x*x|x<-xs]
--Q1
multup.xs=map.(\(a,b)->(a*b)).xs
--Q2
rsw=filter.((map.(\c->c==' '));foldr.(||).False)
--func2.ks=foldr.(||).False.(map.(\c->c==' ').ks)
--func2c=(map.(\c->c==' '));foldr.(||).False
-- one line
-- rsw1l=filter.((map.(\c->c==' '));foldr.(||).False)
capt.xs=map.(\(x::xs)->chr.((ord.x)-32)::xs).xs
addl.xs=map.(\xs->(xs,(length.xs))).xs
final=rsw;capt;addl
--Q3
sum2last.xs=map.(\(x::y::xs)->y+(last.(y::xs)*last.(y::xs))).xs
--Q4
isorted.[]=[]
isorted.[x]=[]
isorted.(x::y::xs)=[foldr.(&&).True.((x<y)::isorted.(y::xs))]
isorted2.xs=foldr.(&&).True.(makboli.xs)
makboli.[x]=[]
makboli.(x::y::xs)=(x<y)::makboli.(y::xs)