Pereiti prie turinio

Node.js pirminių skaičių uždavinys


Rekomenduojami pranešimai

Sveiki. Turi uždavinį, kurį reikia išspręsti, bet neįsivaizduoju kaip. Uždavinio sąlyga: Parašykite PIRMUS 100 pirminių skaičių į node.js skriptą. Kiekvienas skaičius turi būti atskirtas kableliu pvz; 2,3,5,7 Negali būti tarpų tarp skaičių(whitespace). Ir galiausiai tą node.js rezultatą išvesti į pirminiai.txt. Tiesa sakant, neįsivaizduoju nuo ko pradėt. :D Gal su array ką pabandyt? Tiesiog nežinau.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

pradek nuo nodejs irasymo. Ten tas pats JavaScript, tik serverio puseje.

Aš turiu viską susirašęs. Tik nesugalvoju, kaip tuos pirminius skaičius padaryti. Čia paprastas pavyzdys node.js:

 

#!/usr/bin/env node

var fs = require('fs');

var outfile = "pirminiai.txt";

var out = "Cia bus rasomi pirminiai skaiciai.\n";

fs.writeFileSync(outfile, out);

console.log("Script: " + __filename + "\nWrote: " + out + "To: " + outfile);

Nuoroda į pranešimą
Dalintis kituose puslapiuose

var range = [];

for (var i = 0; i < 100; i++) 
range.push(i);

fs = require('fs');

fs.writeFile('/home/web/www/node/range.txt', range, function (err) {
if (err) return console.log(err);
});

 

Siaip dar yra kazkoks pluginas, kuris range funkcija realizuoja, bet ner laiko aikintis su jo.

 

Beja, jei ne paslaptis, kur LT reikia NODEJS?

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

var range = [];

for (var i = 0; i < 100; i++) 
range.push(i);

fs = require('fs');

fs.writeFile('/home/web/www/node/range.txt', range, function (err) {
if (err) return console.log(err);
});

 

Siaip dar yra kazkoks pluginas, kuris range funkcija realizuoja, bet ner laiko aikintis su jo.

Čia iki 100 skaičiaus ar pirmi 100 pirminiai skaičiai. Turiu omenyje, kad primas pirminis skaičius - 2, o šimtasis pirminis skaičius - 541.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

as mokykla esu vos baiges.... Kas tie pirminiai skaiciai?

 

Pirminiai skaičiai yra didesni už 1 ir dalinasi tik iš savęs ir vieneto. Pavyzdžiui; 37 dalinasi tik iš 37 ir 1, todėl jis yra pirminis. O pavyzdžiui 4 dalinasi ir 4, ir iš 2, ir iš 1, todėl 4 nėra pirminis skaičius.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

na tu gal pirmai suras kas yra nodejs ir po to padiskutosime.

 

Pirminiai skaičiai yra didesni už 1 ir dalinasi tik iš savęs ir vieneto. Pavyzdžiui; 37 dalinasi tik iš 37 ir 1, todėl jis yra pirminis. O pavyzdžiui 4 dalinasi ir 4, ir iš 2, ir iš 1, todėl 4 nėra pirminis skaičius.

Jo, jau pagooglinau. Bandau dabar sumastyti ka nors.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

na tu gal pirmai suras kas yra nodejs ir po to padiskutosime.

 

 

Jo, jau pagooglinau. Bandau dabar sumastyti ka nors.

 

Ačiū už pagalbą, dvi galvos - geriau nei viena. Gal ką nors išmąstysim :D

 

Man vienas žmogus sakė, kad reikia atkreipti dėmesį į math objektus(ceil, floor, sqrt) ir array(ypač lenght ir push metodus)

Redagavo Drenx
Nuoroda į pranešimą
Dalintis kituose puslapiuose

var range = [];
var number = 1;

while (100 > range.length) {
number++;

if (number !== 2)
	if (number % 2 == 0)
		continue;
	else
		for (x=3; x<=Math.sqrt(number); x+=2)
			if (number % x == 0)
				continue;

range.push(number);
}

fs = require('fs');

fs.writeFile('/home/web/www/node/range.txt', range, function (err) {
if (err) return console.log(err);
});

 

Nesiseka man su matematika, tai padariau palei pvz http://nullman.net/project/JavascriptPrimeNumbers.html

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

var range = [];
var number = 1;

while (100 > range.length) {
number++;

if (number !== 2)
	if (number % 2 == 0)
		continue;
	else
		for (x=3; x<=Math.sqrt(number); x+=2)
			if (number % x == 0)
				continue;

range.push(number);
}

fs = require('fs');

fs.writeFile('/home/web/www/node/range.txt', range, function (err) {
if (err) return console.log(err);
});

 

Nesiseka man su matematika, tai padariau palei pvz http://nullman.net/project/JavascriptPrimeNumbers.html

 

Žiauriai ačiū tau, tik kaip atsirti tuos skaičius kableliais? pvz; 2,3,5,7,11,13,17. Ar tu atskyrei? Nes dabar neturiu galimybės patikrinti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žiauriai ačiū tau, tik kaip atsirti tuos skaičius kableliais? pvz; 2,3,5,7,11,13,17. Ar tu atskyrei? Nes dabar neturiu galimybės patikrinti.

2,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199
Nuoroda į pranešimą
Dalintis kituose puslapiuose

var output = "", iterator=2, count=0;

while(count < 100){

var div = 0;

for(var i=2; i < iterator; i++){

if((iterator % i) === 0) div++;

}

if(div === 0){

output += ','+iterator;

count++;

}

div = 0;

iterator++;

}

output = output.substr(1);

// write to file

 

Manau kažkas tokio, netestavau. Jei viskas veiks, tai tik pakanka įrašyt viską į failą.

 

P.S. code tag'as grybą pjauna, tad...

Redagavo w3ber
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Man antrodo dar reikia kažką padaryt, bes dar rodo 9, 15, 27, 33 jie dalijasi iš 3. Yai reikia kažką su 3 suvest.

as is tikruju nzn kas ten gerai ar blogai, nes tesiog pritaikiau koda is pvz. Naudok pasiulyta auksciau koda su for, jis atrodo ok veikia.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

var output = "", iterator=2, count=0;

while(count < 100){

var div = 0;

for(var i=2; i < iterator; i++){

if((iterator % i) === 0) div++;

}

if(div === 0){

output += ','+iterator;

count++;

}

div = 0;

iterator++;

}

output = output.substr(1);

// write to file

 

Manau kažkas tokio, netestavau. Jei viskas veiks, tai tik pakanka įrašyt viską į failą.

 

P.S. code tag'as grybą pjauna, tad...

 

Pavyko!

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...