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.

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