tw8
-
Posts
481 -
Joined
-
Last visited
-
Days Won
1
Posts posted by tw8
-
-
Desi corect, codul lui begood este destul de incet: 8.5 secunde imi ia mie pe un Pentium M @ 1600 MHz.
O solutie mult mai rapida este folosirea unui ciur pentru generarea numerelor prime la inceput. Astfel, se obtine un timp de rulare de 0.04 secunde - de 200 si ceva de ori mai rapid ca cel de mai sus .
Cam asa ar arata codul:
#include <iostream>
#define eprim !NP
#define DIM 1000000
bool NP[DIM];
using namespace std;
void ciur()
{
for(int i=3;i<DIM;i+=2)
if(eprim[i])for(int j=2*i;j<DIM;j+=i)NP[j]=1;
}
bool e14(int nr)
{
int c=14;
while(nr&&c>=0)c-=nr%10,nr/=10;
return !c;
}
int main()
{
ciur();
int c=0;
for(int i=3;i<DIM;i+=2)
if(eprim[i]&&e14(i))c++;
cout<<c;
}L.E.: Am uitat sa specific. Se pot elimina foarte multe cazuri daca ne gandim ca numerele divizibile cu 3 nu trebuiesc luate in calcul, pentru ca suma cifrelor lor nu poate fi 14 .
-
Ai gresit la C(30,12). Daca tii neaparat sa faci prin metoda asta, atunci C(30,12) ar fi 3 * 7 * 13 * 19 * 23 * 25 * 29.
Totusi, e mult mai la indemana sa folosesti WolframAlpha pentru asta sau chiar calculatorul de la Windows .
Rezultatul este, dupa cum a spus si Hertz, -86454177.
-
Folosindu-ne de inversa functiei H(n), putem lua doar numerele divizibile cu 232792560 - adica cel mai mic multiplu comun al numerelor de la 1 la 20 - si sa verificam daca sunt hexagonale. Asta scuteste de o gramada de calcule inutile .
Rezultatul programului meu:
Numarul #1: H(1348848) = 3638780505360
Numarul #2: H(5925920) = 70233049766880
Numarul #3: H(7274768) = 105844491632880
Numarul #4: H(8751600) = 153180996368400
Numarul #5: H(9267440) = 171770879039760
Numarul #6: H(11099088) = 246379497764400
Numarul #7: H(11309760) = 255821331205440
Numarul #8: H(12093120) = 292487090575680
Numarul #9: H(14440608) = 417062304378720
Numarul #10: H(14651280) = 429319996625520
Numarul #11: H(17127968) = 586734558490080
Numarul #12: H(17338640) = 601256856760560
Numarul #13: H(18019040) = 649371587024160
Numarul #14: H(19686128) = 775087251578640
Numarul #15: H(20577200) = 846842299102800
Numarul #16: H(22511808) = 1013562976345920
Numarul #17: H(23192208) = 1075757000638320
Numarul #18: H(23402880) = 1095389561185920
Numarul #19: H(25750368) = 1326162878520480
Numarul #20: H(28437728) = 1617408719166240
Numarul #21: H(30430400) = 1852018457889600
Numarul #22: H(31779248) = 2019841175111760
Numarul #23: H(33256080) = 2211933680676720
Numarul #24: H(35603568) = 2535228073057680
Numarul #25: H(35814240) = 2565319537740960
Numarul #26: H(36494640) = 2663717460964560
Numarul #27: H(39182000) = 3070458208818000
Numarul #28: H(41740160) = 3484481871911040
Numarul #29: H(42523520) = 3616499463857280
Numarul #30: H(44355168) = 3934761812261280
Numarul #31: H(44565840) = 3972228145245360
Numarul #32: H(45081680) = 4064715698163120
Numarul #33: H(46913328) = 4401720641157840
Numarul #34: H(47696688) = 4549948044642000
Numarul #35: H(47907360) = 4590230236431840
Numarul #36: H(50254848) = 5051099444751360
Numarul #37: H(52942208) = 5605754722888320
Numarul #38: H(53833280) = 5796044017283520
Numarul #39: H(57657600) = 6648797617862400
Numarul #40: H(59006448) = 6963521752146960
Numarul #41: H(60999120) = 7441785220549680
Numarul #42: H(63686480) = 8111935405894320
Numarul #43: H(66244640) = 8776704591214560
Numarul #44: H(68859648) = 9483302176508160
Numarul #45: H(69070320) = 9541418140734480
Numarul #46: H(69750720) = 9730325811286080
Numarul #47: H(71417808) = 10201006527631920
Numarul #48: H(72308880) = 10457148181399920
Numarul #49: H(74996240) = 11248871953278960
Numarul #50: H(78337760) = 12273609205297440
Numarul #51: H(80169408) = 12854267877971520
Numarul #52: H(82162080) = 13501214697690720
Numarul #53: H(83510928) = 13948150107331440
Numarul #54: H(88834928) = 15783288776695440
Numarul #55: H(90913680) = 16530594331371120
Numarul #56: H(93471840) = 17473969652499360
Numarul #57: H(94255200) = 17768085359824800
Numarul #58: H(96813360) = 18745653252165840
Numarul #59: H(99500720) = 19800786461536080
In total, exista 59 numere! -
@AlStar:
In primul rand, programul tau are o greseala evidenta, si anume considera doar numerele care pot fi scrise ca suma dintre 1 si un cub, din cauza conditiei de oprire .
In al doilea rand, chiar daca ii repari aceasta greseala - foarte usor de reparat - mai e ceva. Iei de mai multe ori in vedere aceleasi numar, in cazul in care poate fi scris in mai multe moduri ca suma de cub si patrat. Spre exemplu, numarul 17 poate fi scris ca :
16 + 1 = 4^2 + 1^3
9 + 8 = 3^2 + 2^3
Si, nu in ultimul rand, ai un cod foarte neeficient din punct de vedere al timpului de executie. Un cod mult mai rapid - si functional - este:
#include <iostream>
#define DIM 100000
bool trecut[DIM];
int main()
{
int P=1,C,j,s=0;
for(int i=1;P<DIM;P+=2*i+1,i++)
for(C=j=1;P+C<DIM;C+=3*j*(j+1)+1,j++)
if(!trecut[P+C]){trecut[P+C]=true,s+=P+C;}
std::cout<<s;
}In concluzie ... codul de mai sus ruleaza instantaneu chiar si pentru numere de pana la 10 milioane - desigur, daca s este definit ca long long in loc de int cum am eu in program, ca sa poate intra in memorie - si in plus, da si raspunsul corect: 502682822.
Bafta!
-
Hai sa vin si eu cu 5 melodii:
Nimeni Altu - Asa raman
Nimeni Altu - Lautarul din beci
Vita de Vie - Varza
Vita de Vie & Parazitii - Beat mort
CTC - Interzis nefumatorilor
Sunt intr-o ordine complet intamplatoare. De asemenea, as mai putea adauga inca cel putin 100 de melodii, dar chiar n-am chef .
-
Reparati si voi vulnerabilitatile:
http://www.black-zero.com/modules.php?name=Tutorials&t_op=viewtutorial&tc_id="><script>alert(String.fromCharCode(88,83,83,32,45,32,98,121,32,116,119,56))</script>
http://www.black-zero.com/modules.php?name=Tutorials</title><script>alert(String.fromCharCode(88,83,83,32,45,32,98,121,32,116,119,56))</script>Mai sunt multe altele.
-
^
La compass.ro poti transforma SQLI-ul ala in alta vulnerabilitate - te las sa iti dai seama cum pentru ca gandirea nu strica niciodata.
La celalalt, http://www.city-mall.ro/_admin/ , admin:george.
Bafta .
-
^
E ok cu mod, doar ca o apelezi ca pe o functie obisnuita:
msgbox(0,"",mod(13, 3))
-
C#
in Programare
faza cu inceputu hai ca merge dar la sfarsit e problematic,nu vreau sa caut dupa 2 paranteze ,ar fi mers dar sunt unele cazuri unde nu merge...Pentru sfarsit, in loc sa cauti dupa "))", poti cauta dupa "))\r\n", adica "))"+enter.
-
Cu toate ca e reclama, am intrat pe site si pot sa zic ca e super. Are o gramada de carti folositoare.
Merci de link .
-
Ok, sper ca ti-ai dat alea 2 palme ...
XSS Google - asta e titlul topicului. Nu zice google.ro sau google.com, ci Google, adica e XSS pe unul din site-urile companiei Google, lucru cat se poate de adevarat.
-
Da, te inteleg. Iti depaseste nivelul de intelegere. Iti mai explic odata.
1. Link-ul direct catre XSS este http://209.85.135.104/translate_c?hl=ro&tl=lv&u=http://iruleyousuck.org/black/index.php&usg=ALkJrhjmpz4vGu0nD_H8ExwEind17x_-oA . Daca te uiti in sursa, o sa observi ca e XSS. Si IP-ul de mai sus e al lui Google.
2. "Restrictionarea accesului la cookie"? Asta e posibil doar in StarTrek. Filtrarea dupa "document.cookie" nu ajunge, se poate ajunge la cookie, de exemplu, printr-un document.write() fara sa contina "cookie".
Daca nici acum nu ai inteles, da-ti doua palme si revino mai tarziu.
-
Ok, sa va lamuresc.
1. E XSS. Daca o sa va uitati cand va afiseaza alert-ul, veti vedea ca vine de la http://209.85.135.104 . Al cui IP e ala ... incercati si veti vedea .
2. Ce vi se pare asa normal ? Codul Javascript trebuie tradus si el ? Voi daca ati face un traducator, nu ati filtra mai intai continutul ? Daca nu, ati fi ratati. Si NU e deajuns sa se blocheze document.cookie, se poate face intr-un milion de feluri sa ai acces la cookie-uri fara sa contina cuvantul cookie,
-
dev-c++
Dev-C++ este un IDE, nu un compilator:
Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language -
Sterge linia pe care iti da eroare si o sa iti mearga.
P.S.: Cred ca nu strica sa iti iei un compilator mai nou.
-
am facut un script in care introduci o lista de ip-uri (introduse unu sub altul / adica despartzite prin enter) intr-un textarea si iti testeaza daca acele host-uri sunt online sau offline... (l-am facut in graba scuzati lipsa de optimizare)... have fun:
<?php
...
for ($i=0; $i <$i+1; $i++){
if(!isset($ex[$i])){exit;}
...?>Cam prostesc . Faci niste operatii in plus degeaba.
Puteai folosii count:
for($i=0;i<count($ex);$i++)P.S.: Sper sa o iei ca pe un sfat, nu ca pe un repros .
-
Doar de curiozitate ... ce dracu s-a intamplat cu bugurile inregistrate de mine ?
Vad ca mi-au disparut si punctele (din aprox 10^3, mai am doar 520) .
-
Bine v-am (re)gasit. Acesta este un mini-tutorial despre cum sa downloadam fisiere de pe http://www.hackclips.com.
1. Downloadam si instalam GreaseMonkey, un plug-in pentru Firefox.
2. Creem un fisier cu numele "hackclips.user.js".
3. Intram aici si copiem scriptul in fisierul creat anterior.
4. Deschidem fisierul cu Firefox si instalam miniaddon-ul.
5. Intram pe clip-ul pe care vrem sa il downloadam.
6. Dam click-dreapta pe imaginea cu maimuta din statusbar, apoi apasam Ctrl+C (sau mutam mouse-ul deasupra "User Script Commands" ) si dam click pe "Download this video".
Have fun .
-
A se folosi impreuna cu GreaseMonkey:
// ==UserScript==
// @name HackClips Download - by tw8
// @namespace tw8
// @description Using this script you can download any video from "http://www.hackclips.com/"
// @include [url]http://www.hackclips.com/video/*[/url]
// ==/UserScript==
/*Made by tw8
Have a look on:
[url]http://www.hackpedia.info[/url]
[url]http://skullbox.info[/url]
[url]http://rstcenter.com[/url]
*/
function get_link()
{
var link = document.location.href;
link = link.substr(link.lastIndexOf("/")+1);
return "http://www.hackclips.com/fplayer.php?id=" + link;
}
function true_link(source)
{
var link = source.substr(0, source.indexOf("</file>"));
link = link.substr(link.indexOf("<file>")+6);
document.location = link;
return 0;
}
GM_registerMenuCommand
('Download this video', function()
{
var tw8 = get_link();
GM_xmlhttpRequest
({
method:"GET",url:tw8, headers:{"User-Agent":"Mozilla/5.0", "Accept":"text/xml"}, onload:function(response)
{
var continut = response.responseText;
true_link(continut);
}
})
}
);O sa fac si un mini-tutorial de instalare, pentru ca multi nu stiu cum sa il puna pe picioare.
-
O aplicatie simpla vulnerabila la buffer overflow, foarte simplu de exploatat .
Doua saptamani ar trebui sa fie mai mult decat suficient, asa ca bafta .
P.S.: Ca si tip, se foloseste de argumente in linia de comanda .
-
Dap ... vesnicii ratati au XSS persistent:
-
Ceva mai serios (sau cel putin asa pare) puteti gasi aici ... sunt doar vreo 12 pagini de citit, vedeti si voi cat va trebuie .
Scuzati offtopicul, dar ce reprezinta cuvintele bolduite ? :
Macke your games to rune fast !! -
Si apoi RST TEAM ? nu imi place cum suna . Pentru ca TEAM deja face parte din nume '... Security Team'
I se intample si lu' Neme ... uita-te la titlul acestui post ...
P.S.: O sa imi rupa gatu' .
-
Apropo ca tot veni vorba care are pe Iplay
Ca tot veni vorba, crezi ca o sa iti dea cineva invitatie pe iplay gratis ?
@1nkz: Daca te-ai inregistrat doar ca sa primsesti invitatie, poti sa astepti mult si bine (spun asta pentru ca vad ca e primul tau post).
PI
in Challenges (CTF)
Posted
^
Tocmai rezolvase cineva mai sus. Si eu l-am rezolvat, in 33 de secunde .
Folosind Google, se poate chiar mai repede, pentru ca nu mai gandesti deloc.