We divide 50 by 100, which is equal to 0.5. We then multiply that 0.5 figure by 120. That gives us 60. As a result, we now know 50% of 120 is 60. You can also do it this way if it helps you understand the formula a little easier: //Our number. var number = 90; //The percent that we want to get. //i.e. We want to get 22% of 90. Napisz program wypisujący na ekranie liczby parzyste z przedziału od 0 do wartości jaką wprowadził z klawiatury użytkownik. ( 2,4,6,8,10,12,16…). Question from @Nuxe - Liceum/Technikum - Informatyka Zakreśl na osi liczbowej liczby parzyste.Co zauważyłeś? Zakreśl na osi liczbowej liczby nieparzyste.Co zauważyłeś? ZADANIA. 7. 5. 3. 8. 2. 6. START. 1. 1. Pod planszą ułóż z bloczków drogę robota Photon tak, aby zebrał trzy liczby nieparzyte. Nie możesz najechać na gnoma. Powodzenia! ZADANIA. 7. 5. 3. 8. 2. 6. START. 2. 2. Pod Ekstra Pensja - 100 losowań - parzyste liczby.Audionautix: Jenny's Theme – na licencji Creative Commons Attribution (https://creativecommons.org/licenses/by/ Napisz program wypisujący wszystkie liczby parzyste od 0 do 100 w postaci (p = liczba). Zadanie 2. Napisz program obliczający sumę liczb wprowadzonych przez użytkownika. Program zakończy się kiedy suma będzie równa lub większa 200. Zadanie 3. Napisz program, który znajdzie największy wspólny dzielnik liczb A i B. Zadanie 4 Vay Tiền Trả Góp 24 Tháng. Liczby pierwsze | Liczby złożone | Najszybsza metoda znajdowania liczb pierwszych od 1 do 100. Jak w Javascript mógłbym znaleźć liczby pierwsze z przedziału od 0 do 100? Myślałem o tym i nie wiem, jak je znaleźć. myślałem o zrobieniu x% x, ale znalazłem z tym oczywisty problem. to, co mam do tej pory: ale niestety jest to najgorszy kod wszechczasów. var prime = function (){ var num; for (num = 0; num znajdź lepszą (i wygraj nagrodę za odkrycie nowej pierwszej :)) 2 wydaje się działać nawet, gdy n = 10 000 000, nie jestem pewien, co to jest „małe” haha 1 @devonJS, gdy n = 10 000 000, zatrzymałoby się przy pierwszej iteracji, ponieważ jest podzielne przez 2, bardzo szybko byłoby dowiedzieć się, że 10 000 000 nie jest liczbą pierwszą. Mimo to może znaleźć 2 147 483 647 dość szybko i 67 280 421 310 721 bez większych problemów, chociaż wydaje się, że nie radzi sobie w Chrome z 170 141 183460 469 231731 687 303715884 105 727 po prostu dlatego, że% 2 na tej liczbie będzie równe 0. Oto pokaz na żywo tego skryptu: Najpierw utwórz funkcję, która sprawdzi, czy pojedyncza liczba jest liczbą pierwszą, czy nie. Jeśli chcesz rozszerzyć obiekt Number, możesz, ale zdecydowałem, że kod będzie tak prosty, jak to tylko możliwe. function isPrime(num) { if(num =j && i%j == 0) { ++counter; } } if(counter == 1) { primeNumbers = primeNumbers + i + ' '; } } ... Ta odpowiedź zadziałała dla mnie i jest o wiele prostsza niż inne odpowiedzi, które widziałem. Nie jestem pewien, jak możemy się różnić j i ja, ponieważ oboje obracają się w tym samym czasie. Czy mógłbyś to wyjaśnić, dziękuję? Odpowiedź Luchiana daje link do standardowej techniki znajdowania liczb pierwszych. Mniej wydajnym, ale prostszym podejściem jest przekształcenie istniejącego kodu w zagnieżdżoną pętlę. Zauważ, że dzielisz przez 2, 3, 4, 5, 6 i tak dalej ... i zamień to w pętlę. Biorąc pod uwagę, że jest to praca domowa i biorąc pod uwagę, że celem zadania domowego jest pomoc w nauce podstawowego programowania, rozwiązanie, które jest proste, poprawne, ale nieco nieefektywne, powinno wystarczyć. Używając rekurencji w połączeniu z regułą pierwiastka kwadratowego stąd, sprawdza, czy liczba jest liczbą pierwszą, czy nie: function isPrime(num){ // An integer is prime if it is not divisible by any prime less than or equal to its square root var squareRoot = parseInt( var primeCountUp = function(divisor){ if(divisor > squareRoot) { // got to a point where the divisor is greater than // the square root, therefore it is prime return true; } else if(num % divisor === 0) { // found a result that divides evenly, NOT prime return false; } else { // keep counting return primeCountUp(++divisor); } }; // start @ 2 because everything is divisible by 1 return primeCountUp(2); } Oto najszybszy sposób obliczania liczb pierwszych w JavaScript na podstawie poprzedniej wartości pierwszej. function nextPrime(value) { if (value > 2) { var i, q; do { i = 3; value += 2; q = while (i 2) { var i, q; do { i = 3; value += 2; q = while (i var n=prompt('Enter User Value') var x=1; if(n==0 || n==1) x=0; for(i=2;i Sito Eratostenesa. trochę wygląda, ale jest proste i działa! function count_prime(arg) { arg = typeof arg !== 'undefined' ? arg : 20; //default value var list = [2] var list2 = [0,1] var real_prime = [] counter = 2 while (counter Array( => n%m); To da 9,25 i więcej liczb niebędących liczbami pierwszymi jako liczby pierwsze, sprawdź Tak, zapomniałem zwiększyć limit wyszukiwania ( (n) +1). Dzięki za test Lista utworzona przy użyciu nowych funkcji ES6, zwłaszcza z generatorem. Przejdź do zrobionego w języku katalońskim na zajęcia z moimi uczniami. Mam nadzieję, że uznasz to za przydatne. function* Primer(max) { const infinite = !max && max !== 0; const re = /^.?$|^(..+?)\1+$/; let current = 1; while (infinite || max-- ) { if(! == true) yield current; current++ }; }; let [...list] = Primer(100); Oto bardzo prosty sposób obliczania liczb pierwszych między podanym zakresem (od 1 do ograniczenia). Proste rozwiązanie: public static void getAllPrimeNumbers(int limit) { prime number from 1 to ' + limit); for(int number=2; numberi+2); for (var i = 0; i x); // return non 0 values } = `${getPrimes(100).join(', ')}`; // for fun, this fantasist regexp way (very inefficient): // (_,i)=>i).filter(n => n>1&&!/^(oo+)\1+$/.test('o'.repeat(n)) Niedawno wymyśliłem jednoliniowe rozwiązanie, które zapewnia dokładnie to dla wyzwania JS na Scrimba (poniżej). ES6 + const getPrimes=num=>Array(num-1).fill().map((e,i)=>2+i).filter((e,i,a)=> function getPrimes(num){return ','.repeat(num).slice(0,-1).split(',').map(function(e,i){return i+1}).filter(function(e){return e>1}).filter(function(x){return ','.repeat(x).slice(0,-1).split(',').map(function(f,j){return j}).filter(function(e){return e>1}).every(function(e){return x%e!==0})})}; Oto wyjaśniona logika: Najpierw funkcja buduje tablicę wszystkich liczb prowadzących do żądanej liczby (w tym przypadku 100) za pośrednictwem .repeat() funkcji, używając żądanej liczby (100) jako argumentu repeatera, a następnie mapując tablicę na indeksy + 1, aby uzyskać zakres liczb od 0 do tej liczby (0-100). Trochę rozszczepiania strun i łączenia magii, która tu się dzieje. Z przyjemnością wyjaśnię ten krok dalej, jeśli chcesz. Wykluczamy 0 i 1 z tablicy, ponieważ nie powinny być testowane pod kątem liczby pierwszej, aby nie dawały fałszywie dodatniego wyniku. Żadne nie są pierwsze. Robimy to za pomocą .filter() tylko dla liczb> 1 (≥ 2). Teraz filtrujemy naszą nową tablicę wszystkich liczb całkowitych od 2 do żądanej liczby (100) tylko pod kątem liczb pierwszych. Aby odfiltrować tylko liczby pierwsze, używamy tej samej magii od naszego pierwszego kroku. Używamy .filter() i .repeat() jeszcze raz, aby utworzyć nową tablicę od 2 do każdy wartość z naszej nowej tablicy liczb. Dla nowej tablicy każdej wartości sprawdzamy, czy którakolwiek z liczb ≥ 2 i .every() metoda sparowana z operatorem modulo % aby sprawdzić, czy ta liczba ma resztę po podzieleniu przez którąkolwiek z tych wartości między 2 a sobą. Jeśli każda wartość ma resztę (x%e!==0), warunek jest spełniony dla wszystkich wartości od 2 do tej liczby (ale nie wliczając tej liczby, tj .: [2,99]) i możemy powiedzieć, że liczba jest pierwsza. Funkcje filtrujące zwracają wszystkie liczby pierwsze do najwyższego wyniku, zwracając w ten sposób listę wartości pierwszych między 2 a wartością przekazaną. Na przykład, używając jednej z tych funkcji, które dodałem powyżej, zwraca: getPrimes(100); // => [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97] 1 Cholera! Dokładnie takiego podejścia szukałem. Dzięki za udostępnienie. 1 @ultrageek pewnie! Ponadto zoptymalizowałem moje rozwiązanie ES6 +, aby korzystać z fill() funkcja, a nie moje nieco zepsute rozwiązanie z powtarzającymi się przecinkami. Zaktualizowano! Najpierw zmień swój kod wewnętrzny na inną pętlę (for i while), dzięki czemu można powtórzyć ten sam kod dla różnych wartości. Bardziej szczegółowo dla twojego problemu, jeśli chcesz wiedzieć, czy dany n jest liczbą pierwszą, musisz ją podzielić dla wszystkich wartości od 2 do sqrt (n). Jeśli którykolwiek z modułów ma wartość 0, nie jest liczbą pierwszą. Jeśli chcesz znaleźć wszystkie liczby pierwsze, możesz to przyspieszyć i sprawdzić n tylko przez podzielenie przez poprzednio znalezione liczby pierwsze. Innym sposobem na przyspieszenie tego procesu jest fakt, że oprócz 2 i 3 wszystkie liczby pierwsze są 6*k plus lub mniej 1. W rzeczywistości jest między 2 a sqrt (n). Tak masz rację. Jeśli liczba większa niż sqrt (n) jest dzielnikiem noznacza to, że iloraz jest mniejszy niż sqrt (n), więc zostałby już znaleziony. Korygowanie. Byłoby dobrze, gdybyś użył któregokolwiek z algorytmów gazillionów, które zostaną ci przedstawione w tym wątku, aby nauczyć się zapamiętywać niektóre z nich. Zobacz pytanie do wywiadu: Jaki jest najszybszy sposób na rekurencyjne generowanie liczb pierwszych? Użyj następującej funkcji, aby znaleźć liczby pierwsze: function primeNumbers() { var p var n = var d var x var prime var displayAll = 2 + ' ' for (p = 3; p divisor) { if ( 2) > n) { return true; } if (n % divisor == 0 || > n) { return false; } else { divisor++; } } return true; } function getPrimeNumbers(range) { for (var i = 3; i <= range; i+=2) { if (isPrime(i)) { } } fillContent(primeNumbers); } getPrimeNumbers(11); })(); }; 1 2 Dalej Pętle for i while Pętlę w programowaniu pozwalają nam wykonywać dany kod zadaną ilość razy. Przypuśćmy, że byliśmy niegrzeczni i nauczyciel kazał nam napisać jakieś zdanie 100 razy. Możemy to oczywiście zrobić za pomocą poniższego kodu: będę rozmawiał na lekcji Informatyki."); będę rozmawiał na lekcji Informatyki."); będę rozmawiał na lekcji Informatyki."); będę rozmawiał na lekcji Informatyki."); będę rozmawiał na lekcji Informatyki."); ... Ale o wiele lepiej jest skorzystać z pętli, która wykona dany kod zadaną liczbę razy. Poniżej zajmiemy się klasycznymi pętlami, które istnieją w większości języków - w tym w Javascript. Pętla typu for Jednym z najczęściej stosowanych typów pętli jest instrukcja for. for (zainicjowanie_zmiennych; warunek_kończący_wykonywanie_pętli; zmiana_zmiennych) { kod który zostanie wykonany pewną ilość razy } Pętle takie najczęściej stosuje się w sytuacjach, kiedy dokładnie znamy liczbę powtórzeń - od - do: //pętla od 0 do 99 for (let i=0; i0; i--) { odliczanie", i); } A sam warunek kończący wcale nie musi wyglądać jak powyżej: const a = 10; const b = 20; for (let i=1; i 20) break; i++; } const tab = ["Ala", "Monika", "Beata", "Karol"]; let userExist = false; for (let i=0; i= break; } Drugą instrukcją jest continue. Nie przerywa ona działania pętli, a powoduje przerwanie danej iteracji (czyli aktualnego powtórzenia): const tab = ["Ala", "Monika", "Beata", "Karol", "Alicja"]; for (let i=0; i< i++) { if (tab[i] === "Karol") { continue; //Karola pomiń } } let i = 0; let sum = 0; while (i < 5) { i++; if (i === 3) continue; sum += i; `suma kolejnych liczb to ${sum}`); } Zwróć uwagę, że gdy stosujemy continue w pętli while, zwiększanie licznika musimy robić przed użyciem tej instrukcji. Inaczej możemy trafić na moment, gdy aktualne powtórzenie będzie przerywane a tym samym zwiększanie licznika nigdy nie nastąpi. let i = 0; let sum = 0; while (i < 100) { i++; if (i % 2 === 0) continue; //gdy i jest parzyste przerywamy daną iterację i przechodzimy do następnej sum += i; } `suma kolejnych liczb to ${sum}`); Labele dla pętli Każda pętla może być dodatkowo nazwana za pomocą etykiet. Dzięki nim możemy stosować instrukcje break i continue dla pętli o danej nazwie: for (let i=0; i<10; i++) { for (let j=0; j<10; j++) { if (warunek) break; //normalnie mogę przerwać tylko pętlę w której użyłem instrukcji break/continue } } first: for (let i=0; i<10; i++) { second: for (let j=0; j<10; j++) { if (warunek) break first; //przerywam główną pętlę } } loopA: for (let i=0; i<10; i++) { loopB: for (let j=0; j<10; j++) { if (warunek) continue loopA; } } Przy czym funkcjonalność ta jest tak skrajnie rzadko używana, że prawdopodobnie nigdy się z nią nie zetkniesz... Edit: Tak naprawdę składnia ta zyskuje na popularności za sprawą który używa jej oznaczania reaktywnych deklaracji: const a = 100; const b = 200; $: const nr = a * b; //label która ma nazwę "$" Instrukcje warunkowe Typy danych i konwersja 0 jak w temacie. liczby wypisuje mi tylko od 2-100 public class cwiczenie2 { public static void main(String[] args){ int a = 0; while(a<100){ while(++a%2 == 0){ } } } } 0 Skopiowałeś ten kod skądś i nie wiesz co robi? ++a to preinkrementacja, a więc zanim a zostanie wypisane to zostanie zinkrementowane. Proste. 0 napisalem sam. wiec jak to powinienem zrobic ? rozumiem to co mowisz. probowalem uzyc post ale wtedy wyswietla liczby 1,3,5,7,9,11 itd 0 wtedy musze zastosowac <=. czy tak bd optymalnie? public class cwiczenie2 { public static void main(String[] args){ int a = 0; while(a<=100){ while(a++%2 == 0){ } } } } 3 for(int i = 2; i <= 100; i += 2) 0 musze to zrobic z while 0 się uczę JAvy to umiem: public class cwiczenie2 { public static void main(String[] args){ int a = 0; while(a<=100){ if(a%2 == 0) a++; } } } 1 int i = 2; while (i <= 100) { i += 2; } ten sam kod co powyzej ale z while 2 int i=-2; while((i+=2)<=100) Liczba odpowiedzi na stronę 1 użytkowników online, w tym zalogowanych: 0, gości: 1 Opis Pierwsze gry do nauki liczenia w zakresie 0-10 Puzzle dwustronne w kształcie koła pomagające w rozpoznawaniu liczb od 0 do 10. Na każdym kole są przedstawione 4 reprezentacje liczby: liczba pisana, liczba oczek na kostce, obrazek z daną cyfrą za pomocą palców u ręki, zbiór elementów. Zadaniem dziecka jest ułożenie koła z właściwymi elementami. Puzzle są dwustronne: dziecko samodzielnie odwraca koło, aby sprawdzić poprawność wykonanego zadania. Wsparcie dla osób niepełnosprawnych: uczy rozumienia i nazywania stosunków liczbowych. Rozwijanie umiejętności : Budowanie i rozkładanie liczb w zakresie 0-10 Rozpoznawanie i skojarzenie różnych reprezentacji liczby Zapamiętywanie liczb Zawartość: 11 kół – 44 elementy: każde koło składa się z 4 elementów Liczby nieparzyste w kolorze czerwonym; liczby parzyste w kolorze niebieskim Ø koła: 13 cm Opakowanie: kolorowe kartonowe Wiek dziecka: 3 lata + Normy: Zgodne z EN71 SPIS TREŚCI Szkoła podstawowa Przykłady i zadania – str. 1Rozwiązania zadań – str. 2Pytania sprawdzające – str. 3 Liceum i technikum Przykłady i zadania – str. 4Rozwiązania zadań – str. 5Pytania sprawdzające – str. 6 POZIOM 1 – SZKOŁA PODSTAWOWA WSTĘP Pętle for, while i do while wykonują się tylko wtedy gdy warunek jest prawdziwy. Należy tutaj dodać, że w pętli do while instrukcje wykonują się przynajmniej jeden raz ponieważ warunek jest sprawdzany na końcu. PRZYKŁADY Pętla FOR – przykład 1Napisz program wyświetlający liczby całkowite z przedziału #include using namespace std; int main() { for(int i=1;i w porządku malejącym. #include using namespace std; int main() { for(int i=100;i>=50;i--) cout #include using namespace std; int main() { for(int i=5;i (wartość y podaje użytkownik) #include using namespace std; int main() { int y; cout > y; for(int i=0;i (wartości x i y podaje użytkownik) #include using namespace std; int main() { int x,y; cout > x; cout > y; for(int i=x;i #include using namespace std; int main() { int i=1; while(i w porządku malejącym. #include using namespace std; int main() { int i=100; while(i>=50) { cout #include using namespace std; int main() { int i=5; while(i (wartość y podaje użytkownik) #include using namespace std; int main() { int i=1,y; cout > y; while(i (wartości x i y podaje użytkownik) #include using namespace std; int main() { int x,y; cout > x; cout > y; while(x #include using namespace std; int main() { int i=1; do { cout (wartości x i y podaje użytkownik) #include using namespace std; int main() { int x,y; cout > x; cout > y; do { cout using namespace std; int main() { for(int i=1;i using namespace std; int main() { for(int i=1;i. Wartości x i y podaje użytkownik. Zadanie 3Napisz program, który wyświetli wszystkie liczby z przedziału od 50 do 100 podzielne przez dowolną liczbę k, która podaje użytkownik. Przekształć program tak aby przedział liczb również podawał użytkownik. Zadanie 4Napisz program wypisujący liczby całkowite parzyste od liczby podanej przez użytkownika aż do 0. Zadanie 5Napisz program wyświetlający n kolejnych potęg liczby 2. Wartość n podaje użytkownik, musi to być liczba naturalna większa od 0. Zadanie 6Napisz program sumujący wartości ciągu n liczb podawanych przez użytkownika. Ilość liczb podaje użytkownik jako pierwszą 7Program losuje liczbę z zakresu od 1 do 100. Zadaniem gracza jest odgadnięcie tej liczby. Jeżeli użytkownik poda za dużą liczbę program wyświetli komunikat „Szukana wartość jest mniejsza”. Jeżeli wprowadzi za małą liczbę program wyświetli „Szukana wartość jest większa”. Po odgadnięciu liczby gracz dowiaduje się po ilu próbach udało mu się zakończyć przebieg rozgrywki Podaj liczbę: 75Szukana wartość jest większaPodaj liczbę: 88Szukana wartość jest mniejszaPodaj liczbę: 80Szukana wartość jest większaPodaj liczbę: 85Szukana wartość jest mniejszaPodaj liczbę: 83 GRATULACJE!!! WYGRALES!!!Liczba prób wynosi 5

liczby parzyste od 0 do 100 javascript