Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luizgmf

Xadrez - Algoritmo em prolog para o Horse Ride( Passeio do cavalo)

Recommended Posts

Dado um tabuleiro de xadrez N × N e um cavalo em uma casa de coordenadas (x, y), deseja-se saber se possível que o cavalo faca um percurso visite todas as casas exatamente uma vez. O cavalo se move saltando três casas em forma de L.

 

Já vi algumas implementações em outras linguagens, porem estou com dificuldades em prolog, não consigo fazer funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Katia-Regina
      Alguém poderia me explicar pq acontece esse erro no visualg:
       
      quando declaro a variável graos do tipo inteiro:
       
      Algoritmo "rainha" // Uma rainha requisitou os serviços de um monge, o qual exigiu o // pagamento em grãos de trigo da seguinte maneira: os grãos de // trigo seriam dispostos em um tabuleiro de xadrez, de tal forma // que a primeira casa do tabuleiro tivesse um grão, e as casas // seguintes o dobro da anterior. Construa um algoritmo que calcule // quantos grãos de trigo a Rainha deverá pagar ao monge. Var casa: inteiro graos: inteiro Inicio graos := 1 escreval("casa -- graos") Para casa de 1 ate 64 faca graos := graos * 2 escreval(casa," -- ",graos) casa := casa + 1 FimPara escreval() escreva("A rainha deverá pagar ", graos," grãos para o monge.") Fimalgoritmo Início da execução casa -- graos 1 -- 2 2 -- 4 3 -- 8 4 -- 16 5 -- 32 6 -- 64 7 -- 128 8 -- 256 9 -- 512 10 -- 1024 11 -- 2048 12 -- 4096 13 -- 8192 14 -- 16384 15 -- 32768 16 -- 65536 17 -- 131072 18 -- 262144 19 -- 524288 20 -- 1048576 21 -- 2097152 22 -- 4194304 23 -- 8388608 24 -- 16777216 25 -- 33554432 26 -- 67108864 27 -- 134217728 28 -- 268435456 29 -- 536870912 30 -- 1073741824 31 -- -2147483648 32 -- 0 33 -- 0 34 -- 0 35 -- 0 36 -- 0 37 -- 0 38 -- 0 39 -- 0 40 -- 0 41 -- 0 42 -- 0 43 -- 0 44 -- 0 45 -- 0 46 -- 0 47 -- 0 48 -- 0 49 -- 0 50 -- 0 51 -- 0 52 -- 0 53 -- 0 54 -- 0 55 -- 0 56 -- 0 57 -- 0 58 -- 0 59 -- 0 60 -- 0 61 -- 0 62 -- 0 63 -- 0 64 -- 0 A rainha deverá pagar 0 grãos para o monge. Fim da execução.  
      quando declaro a variável graos do tipo real:
       
      Algoritmo "rainha" // Uma rainha requisitou os serviços de um monge, o qual exigiu o // pagamento em grãos de trigo da seguinte maneira: os grãos de // trigo seriam dispostos em um tabuleiro de xadrez, de tal forma // que a primeira casa do tabuleiro tivesse um grão, e as casas // seguintes o dobro da anterior. Construa um algoritmo que calcule // quantos grãos de trigo a Rainha deverá pagar ao monge. Var casa: inteiro graos: real Inicio graos := 1 escreval("casa -- graos") Para casa de 1 ate 64 faca graos := graos * 2 escreval(casa," -- ",graos) casa := casa + 1 FimPara escreval() escreva("A rainha deverá pagar ", graos," grãos para o monge.") Fimalgoritmo Início da execução casa -- graos 1 -- 2 2 -- 4 3 -- 8 4 -- 16 5 -- 32 6 -- 64 7 -- 128 8 -- 256 9 -- 512 10 -- 1024 11 -- 2048 12 -- 4096 13 -- 8192 14 -- 16384 15 -- 32768 16 -- 65536 17 -- 131072 18 -- 262144 19 -- 524288 20 -- 1048576 21 -- 2097152 22 -- 4194304 23 -- 8388608 24 -- 16777216 25 -- 33554432 26 -- 67108864 27 -- 134217728 28 -- 268435456 29 -- 536870912 30 -- 1073741824 31 -- 2147483648 32 -- 4294967296 33 -- 8589934592 34 -- 17179869184 35 -- 34359738368 36 -- 68719476736 37 -- 137438953472 38 -- 274877906944 39 -- 549755813888 40 -- 1099511627776 41 -- 2199023255552 42 -- 4398046511104 43 -- 8796093022208 44 -- 17592186044416 45 -- 35184372088832 46 -- 70368744177664 47 -- 140737488355328 48 -- 281474976710656 49 -- 562949953421312 50 -- 1.12589990684262E15 51 -- 2.25179981368525E15 52 -- 4.5035996273705E15 53 -- 9.00719925474099E15 54 -- 1.8014398509482E16 55 -- 3.6028797018964E16 56 -- 7.20575940379279E16 57 -- 1.44115188075856E17 58 -- 2.88230376151712E17 59 -- 5.76460752303423E17 60 -- 1.15292150460685E18 61 -- 2.30584300921369E18 62 -- 4.61168601842739E18 63 -- 9.22337203685478E18 64 -- 1.84467440737096E19 A rainha deverá pagar 1.84467440737096E19 grãos para o monge. Fim da execução.  Como faço para exibir o número inteiro normal?
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.