Ajuda em exercício de fortran

Mayli

Membro
Olá, eu tenho um pequeno problema.
Tenho um exercício de fortran para fazer mas, por mais voltas que de, não consigo resolve-lo. Se alguem me puder ajudar, por favor contacte-me por pm ou email.
Obrigada

p.s. email removido, obrigada pelo aviso.
As minhas duvidas são na intrepertação do exercício, pois à uns pormenores que não compreendo, assim como na construção do próprio programa. Se alguem me poder/quiser ajudar, contacte-me por favor.
 
Última edição:
Não seria mais fácil colocares aqui as tuas questões (concretas)?

A magia de um fórum é as nossas dúvidas poderem ser as dúvidas de mais alguém, e termos a garantia que não nos vão ajudar com más intenções visto que existe controlo de conteúdos. Por PM já não tens essa segurança..., evita pedires ajuda por PM, pode correr-te mal ;)

Já agora, não metas o teu email tão explicito, existem bots de spam que conseguem sacar-te o mail na boa, este quadro está visivel a guests ;)

abraços, HecKel
 
O exercício consiste em criar um programa capaz de descodificar uma data.
Ora vai-se dar uma acontecimento numa certa data entre 1970 e 2030. Foram contados todos os segundos desde a meia noite de 1970.01.01 GMT até à data do acontecimento. Depois, pegou no quadrado desse número e dividiu por 4000000007. E é necessário descodificar a data original.
O input deve ser o encrypted timestamp (mas penso que também resulta se o input for o nº de segundos) e o output deverá ser, por exemplo, algo do género (Sun Jun 13 16:20:39 2004).

Pensei utilizar esta fórmula:
D = d * q + r (D = dividendo; d = divisor; q = quociente; r = resto)
D² = 4000000007 * q + r

Mas como apenas sei o divisor, não sei o que fazer...

A minha 1ª dúvida é que, ser necessário saber os outros valores para calcular o nº de segundos, como os descobrir?
Outra questão é como fazer com que o nº de segundos é transformado numa data (dia semana/mês/dia/ hh:mm:ss /ano) como no exemplo. Pensei utilizar algo do tipo:

1 hora = 3600s
1 dia = 86400s
1 ano = 31536000s

para converter os segundos em ano/mês/dia, mas suspeito que não resulte…

Agradeco desde já alguma/qualquer/toda a ajuda possivel :(
 
lol isso nao é o trabalho duma cadeira klkr de Biologia na Lusofona? pelo menos o meu irmao anda la em Biologia e veio-me pedir k lhe fizesse isso (tou em Eng Informatica) lol
 
eu ainda nao lhe fiz o trabalho, mas o "esquema" para fzr o programa nao me pareceu ser dificil de se fazer. tenho que dar uma olhada primeiro na linguagem porque nunca trabalhei em Fortran (embora me tenha parecido um bocado com Haskell), quando lhe fizr o trabalho dou-te aqui uma ajudinha ;)
 
Parece que perciso de utilizar uma raiz quadrada modular, x**2 = a (mod p). Mas como aplicar neste caso? Se partir do principio que p=4000000007, com chegar ao valor de a?
Quanto ao output do tempo, call "gmtime (stime, timearray)" funciona para este caso? Se sim, como?

O enunciado deste problema encontra-se aqui: http://www.spoj.pl/problems/CRYPTO1/
 
Projecto Computação

boas.já conseguiste acabar o trabalho?, é que estou com o mesmo problema, e não consigo implementar o algoritmo... se alguém souber dar alguma ajuda, agradecia-se. thanks in advance;)
 
Back
Topo