Jump to content

totti93

Active Members
  • Posts

    1561
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by totti93

  1. Iterativa:


    function decrypt($enc) {
    for ($v = str_split($enc, 3); $i < sizeof($v); $dec .= chr($v[(int) $i] >> 2), $i++);
    return $dec;
    }

    Recursiva:


    function decrypt($enc) {
    return $enc ? chr(substr($enc, 0, 3) >> 2) . decrypt(substr($enc, 3)) : '';
    }

    L.E.: A, da, sunt niste variabile nedeclarate (ca sa scriu mai putin), deci:


    ini_set('display_errors', FALSE);

  2. Stiu ca e mai fain sa verifici daca este setata o variabila sau nu, dar asa e mai scurt:


    <?php

    ini_set('display_errors', FALSE);

    if (preg_match('/[a-z]/i', $_POST['a'] . $_POST['b']) || $_COOKIE['blocked']) {
    if (!$_COOKIE['blocked']) setcookie('blocked', 1, time() + 3600);
    die('Access denied!');
    }

    ?>
    <form method="post">
    <input type="text" name="a" value="0" /> +
    <input type="text" name="b" value="0" /> =
    <input type="text" value="<?=['zero', 'unu', 'doi', 'trei', 'patru', 'cinci', 'sase', 'sapte', 'opt', 'noua', 'zece'][$_POST['a'] + $_POST['b']]?>" disabled />
    <input type="submit" />
    </form>

    • Upvote 1
  3. Am inceput sa experimentez Linux-ul incepand cu Slax KillBill Edition (2005-2006, nu mai stiu exact) - CD-ul gasit tot intr-o revista. Nu stiam ca e Linux pe ea, si l-am uitat in unitate. Asa ca a doua oara cand l-am pornit am vazut ca imi booteaza. Asa am vazut si eu cum arata un Linux. Mai tarziu am testat si alte distributii: Ubuntu, Linux Mint, ElementaryOS, Slackware, Arch Linux, Puppy Linux, Fedora, openSUSE, Debian si CentOS. Pot spune ca cel mai mult mi-a placut Linux Mint si Ubuntu pentru desktop, iar pentru server Debian.

    Am testat si alte sisteme de operare Unix-like: FreeBSD, Solaris, OS X.

    Oricum daca iti place sa injuri mult, atunci Linux este pentru tine.

    Eu prefer Windows si OS X pentru ca se adapteaza mai mult nevoilor mele.

  4. 12 caractere. :)

    Sa vina baieti cu ghilimica aka "script alert 1" sa il rezolve.

    @Nytro este userul cu priv. limitate nu poti extrage datele din baza de date principala unde is useri si alte date mai "importante" alea is pe alt user:)

    // 10 caractere mai putin de atata nu se poate

    Bravo!

    Eu ma multumesc cu 15. Habar nu am ce sa mai simplific.

  5. Banuiesc ca cele doua numere sunt naturale nenule... Uite solutia mea:

    #include <iostream>

    using namespace std;

    void descompunere(int a, int B) {

    // Pana cand nu stricam numarul

    while (a) {

    int t = 1; // Contor pentru rezultatul puterilor

    int nr = 0; // Contor pentru puteri

    // Ridicam la putere pana nu depasim numarul `a`

    while (t * b < a) {

    t *= b; // Aici e ridicarea la putere

    nr++; // Incrementam puterea

    }

    // Obtinem diferenta dintre rezultatul puterilor si `a` (restul)

    a -= t;

    // Afisam puterea

    cout << nr << ',';

    }

    }

    int main() {

    int a, b;

    cout << "a=";

    cin >> a;

    cout << "b=";

    cin >> b;

    descompunere(a, B);

    fflush(stdin);

    getchar();

    return 0;

    }

  6. - Yahoo! nu e asa prost sa isi faca server pe Windows folosind XAMPP. Daca ar fi fost chiar pe Windows, cu siguranta folosea IIS, nu XAMPP.

    - Daca chiar ar fi asa, atunci de ce e vulnerabil?

    Concluzie: Cred ca cineva iti face un fel de MITM. Probabil vroia sa te redirectioneze la o pagina falsa, insa a bagat un link gresit la pagina lui hostata pe un XAMPP.

  7. Bag p**a, e SIGNED INT, deci numai atat am putut:

    cTXBbWr.png

    L.E.: Cred ca se verifica daca se poate realiza acel scor in intervalul acela de timp pe care il trimiti catre server. Sper ca am setat bine si va ramane scorul. (Am setat la bascaleala cam la ~1.5x mai mult decat scorul)


  8. #include <string.h>
    #include <stdio.h>
    #include <stdlib.h>

    char *shift(char *line, size_t n) {
    char *shifted = (char *) malloc(n * sizeof(char));
    int i;

    shifted[0] = line[n - 1];
    for (i = 0; i < n - 1; i++)
    shifted[i + 1] = line[i];

    return shifted;
    }

    char **gen_matrice(char *seed, size_t n) {
    char **matrix = (char **) malloc(n * sizeof(char));
    int i, j;
    for (i = 0; i < n; i++)
    matrix[i] = (char *) malloc(n * sizeof(char));

    for (i = 0; i < n; i++)
    matrix[i] = seed;

    for (i = 0; i < n; i++)
    for (j = 0; j < i; j++)
    matrix[i] = shift(matrix[i], n);

    return matrix;
    }

    int main() {
    char line[] = "nopqrstuvwxyz";
    int n = strlen(line);
    char **matrice = gen_matrice(line, n);
    int i, j;

    for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++)
    putchar(matrice[i][j]);
    putchar('\n');
    }

    getchar();
    return 0;
    }

    Nu e cea mai buna implementare. Nu mut valorile din tablou in alt tablou, ci doar mut pointerul pe o alta adresa. Memoria se elibereaza la `char line[]`, care e referentiat la prima linie a matricii, iar fiind alocat static, se va elibera zona de memoria la sfarsitul blocului (in cazul de sus e vorba de main(), deci e irelevant).

  9. Banuiesc ca se fac teste cu valori diferite. Cele cu "Time limit exceeded!" probabil sugereaza faptul ca algoritmul tau e lent, iar la cele cu "Killed by signal: 11" probabil accesezi o zona de memorie ce nu ai voie. Un fel de "Segmentation fault". Atata timp cat nu postezi codul sursa, nu prea te putem ajuta.

    L.E.: Posteaza si cerinta.

  10. C:


    #include <stdio.h>
    #include <stdlib.h>

    int main() {
    FILE *fin, *fout;
    char nume[20], prenume[20];
    int nr_matricol;
    float medie;

    if (!(fin = fopen("in.txt", "r")) || !(fout = fopen("out.txt", "w"))) {
    printf("Eroare deschidere fisier de intrare!\n");
    exit(EXIT_FAILURE);
    }

    while (!feof(fin)) {
    fscanf(fin, "%s %s %d %f\n", nume, prenume, &nr_matricol, &medie);
    if (medie >= 5)
    fprintf(fout, "%s %s %d %f\n", nume, prenume, nr_matricol, medie);
    }

    fclose(fin);
    fclose(fout);
    }

    C++:


    #include <iostream>
    #include <fstream>

    using namespace std;

    class Student {
    string nume, prenume;
    int nr_matricol;
    float medie;
    public:
    friend istream &operator>>(istream &, Student &);
    friend ostream &operator<<(ostream &, Student);
    bool Absolvent();
    };

    istream &operator>>(istream &in, Student &s) {
    in >> s.nume >> s.prenume >> s.nr_matricol >> s.medie;
    return in;
    }

    ostream &operator<<(ostream &out, Student s) {
    out << s.nume << ' ' << s.prenume << ' ' << s.nr_matricol << ' ' << s.medie << '\n';
    return out;
    }

    bool Student::Absolvent() {
    return medie >= 5;
    }

    int main() {
    Student student;

    ifstream fin("in.txt");
    ofstream fout("out.txt");

    while (fin >> student)
    if (student.Absolvent())
    fout << student;

    fin.close();
    fout.close();

    return 0;
    }

×
×
  • Create New...