Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
conversie base64 challange
Last Updated: Feb 01 2020 18:20, Started by
George02
, Nov 27 2019 02:28
·
0
#1
Posted 27 November 2019 - 02:28
Salut,
De cateva zile ma tot chinui sa rezolv o problema si tot nu reusesc sa ii dau de cap. Enuntul este cam asa din cate am inteles eu: Gasiti un cuvant (cu o dimensiune mai mic sau egala cu 18 caractere) care inversat si convertit in baza 64 sa fie egal cu el insusi. Ce am incercat: - m-am documentat legat de modul de reprezentare a informatiilor in calculator - avem caracterele din tabelul ascii (utf-8 sa zicem) 8 biti => 1 byte - m-am documentat legat de baza64 si modul de reprezentare - avem caracterele [A-Za-z0-9+/] 6 biti - mi-am facut o pagina html care sa imi faca conversii (atasata in atasamente) Problema este luata de pe site-ul https://rough.ro/challenges Web └── First Script (20) Attached Files |
#2
Posted 27 November 2019 - 08:42
Problema este ca in ASCII exista caractere care nu le poti transimte prin URI (Uniform Resource Identifier). Cand faci un request la server ai o anumita sintaxa: tipul protoculului (http, https, ftp, file, data) :// + host (local host, adresa IP, numele site-ului) + port + cale + query + identificator de fragment):
https://en.wikipedia...fier#Definition Nu poti transmite orice caractere prin URI: https://en.wikipedia..._URI_characters Daca tu vrei sa trimiti un fisier text prin XMLHttpRequest, dar acel text are spatii, linii noi, caractere speciale - nu il poti trimite si trebuie sa il transformi in text exact cum ai face un request in URI - https://en.wikipedia...ercent-encoding Transformi tot textul intr-un alt text care nu contine spatii, carriage return, new line, etc. Un exemplu ai aici - https://en.wikipedia.org/wiki/Base64: TEXTUL IN ASCII: Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure. TEXTUL CONVERTIT IN BASE64: TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4= Edited by PlatonX, 27 November 2019 - 08:43. |
#3
Posted 27 November 2019 - 09:30
Și cum răspunde ceea ce ai spus tu la întrebarea:
Care este cuvantul (de maxim 18 caractere) care inversat si convertit in baza 64 sa fie egal cu el insusi? |
#4
Posted 27 November 2019 - 10:05
George02, on 27 noiembrie 2019 - 02:28, said:
- m-am documentat legat de baza64 si modul de reprezentare - avem caracterele [A-Za-z0-9+/] 6 biti Edited by PlatonX, 27 November 2019 - 10:06. |
#5
Posted 27 November 2019 - 10:55
Unde este enuntul problemei? Probabil nu ai inteles bine.
Eu am inteles asa: Cuvant initial - CUVANT Cuvant inversat - TNAVUC Cuvant inversat (TNAVUC) convertit in base64 (VE5BVlVD) sa fie egal cu CUVANT? Este imposibil. Edited by Alice, 27 November 2019 - 10:55. |
#6
Posted 27 November 2019 - 11:49
RADAR
CAPAC SUPUS etc... Nu ar merge astfel de cuvinte ? Edited by keta, 27 November 2019 - 11:52. |
#7
Posted 27 November 2019 - 13:25
Conform Wikipedia, codificarea in BASE64 contine mai multe litere, 3 caractere sunt convertite in 4.
Asadar un string inversat si convertit are mai multe litere decat originaul, deci nu are cum sa fie egal. Poate-mi scapa mie ceva sau vreo situatie particulara in care se omite catracterul de paddng "=", dar solutia trebuie sa aiba in vedere acest aspect. |
#8
Posted 27 November 2019 - 13:28
ce problema stupida, ala care a compus enuntu sigur e un frustrat care nu si-a gasit locu
|
#9
Posted 27 November 2019 - 13:54
base64(reverse(text))=text?
asta se vrea? Edited by MarianG, 27 November 2019 - 13:55. |
#10
Posted 27 November 2019 - 14:09
Și eu am înțeles la fel. Dar tot e ilogic pentru că base 64 convertește fiecare 3 caractere în 4 caractere, cum a zis și maccip.
|
|
#11
Posted 27 November 2019 - 15:18
#12
Posted 27 November 2019 - 15:18
#13
Posted 27 November 2019 - 17:04
#14
Posted 27 November 2019 - 19:32
maccip, on 27 noiembrie 2019 - 15:18, said: Daca-i doar atat, solutia e "", doar ca nu e un cuvant. Cuvantul e cuvant, stringul e string in acest context din ce bag seama. Oricum, problema pare stupida. E bine cum a zis MarianG. El a înțeles. Ok hai sa reformulez: Aflați X un șir de maxim 18 caractere care inversat și transformat în baza64 este egal cu el însuși. În ce sens stupida? |
#15
Posted 27 November 2019 - 19:57
Solutia e sirul nul,
Daca gasesti tu o solutie mai putin stupida, te rog frumos s-o pui aici. |
|
#16
Posted 27 November 2019 - 20:43
btoa(q.split('').reverse().join(''))==....
textul criprat il avem |
#17
Posted 27 November 2019 - 22:36
maccip, on 27 noiembrie 2019 - 15:18, said: Daca-i doar atat, solutia e "", doar ca nu e un cuvant. Cuvantul e cuvant, stringul e string in acest context din ce bag seama. Oricum, problema pare stupida. E bine cum a zis MarianG. El a înțeles. Ok hai sa reformulez: Aflați X un șir de maxim 18 caractere care inversat și transformat în baza64 este egal cu el însuși. În ce sens stupida? |
#18
Posted 27 November 2019 - 22:52
Am zis sa filtrez putin problema dar poate nu am reusit eu sa o explic cum trebuie. Uitati, aceasta este:
<script> "use strict"; let q="";const Q=_=>btoa(q.split('').reverse().join(''))=='cXRmaWhTRFJhdGZpaFN'+ 'GMHFo'&&(flag=`${q}`);window.onkeyup=e=>Q(q=((q+e.key).slice(-0o22))); </script>Intrebarea care se pune este ce valoare ar trebui sa aiba variabila "flag" astfel incat functia Q sa intoarca true.
Edited by MarianG, 28 November 2019 - 18:38.
|
Anunturi
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users