nuno35 Posted October 5, 2018 at 11:09 AM Report #611991 Posted October 5, 2018 at 11:09 AM Boa Tarde Tenho aqui uma duvida eu tenho um numero e tenho a lista x que vai do 1 ate esse numero [1..numero] e a lista y que vai do numero ate ao 0 [numero..0] e quero percorrer as duas e ir somando e ver quando dava o numero quando der fazia o show do (x,y) estava a tentar fazer do género: numero =100 [if x+y == numero then let resultado = (x,y) |x<-[1..numero] y<-[numero]] mas o if nao me esta a dar para por ali e nao me estou a lembrar de outra maneira de fazer isto. Desde já Obrigado
Solution thoga31 Posted October 5, 2018 at 10:22 PM Solution Report #611996 Posted October 5, 2018 at 10:22 PM Boa noite, @nuno35. Numa list comprehension em Haskell, a condição booleana não é feita dessa forma, não havendo sequer o uso de let. A sintaxe geral é a seguinte (feita de cabeça, poderá conter incorrecções e não contemplar todos os casos possíveis): [funcao(elemento) | elemento <- lista, ..., condição1, ...] Portanto, no teu caso deverás usar algo como isto: [(x, y) | x <- [1..numero], y <- [numero, numero-1 .. 0], x + y == numero] Cumprimentos. 1 Report Knowledge is free!
nuno35 Posted October 7, 2018 at 09:41 PM Author Report #612006 Posted October 7, 2018 at 09:41 PM (edited) Muito obrigado Edited October 8, 2018 at 05:46 PM by nuno35
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now