Skip to content

Instantly share code, notes, and snippets.

View gkucmierz's full-sized avatar
💻

Grzegorz Kućmierz gkucmierz

💻
View GitHub Profile
// https://projecteuler.net/problem=57
const squareRoot = n => {
const STEPS = 100;
let res = 0;
for (let i = 0; i < STEPS; ++i) {
res = (n-1) / (2 + res);
}
return res + 1;
};
const M = (n, verbose = false) => {
const steps = n - 2;
const prime = 2n ** BigInt(n) - 1n;
verbose && console.log('prime: ', prime);
let s = 4n;
for (let i = 0; i < steps; ++i) {
s = (s ** 2n - 2n) % prime;
verbose && console.log(i, s);
}
// this code pasted on Project Euler console site shows difficulty of tasks using colors
const round = n => Math.round(n);
[...document.querySelectorAll('.smaller')].forEach(e=>{;
const diff = (+e.innerHTML.match(/\d{1,3}/)[0]) / 100 * 255;
const color = `rgba(${diff},${255-diff},0,1)`;
e.parentNode.parentNode.parentNode.style.backgroundColor = color;
});
// https://www.codewars.com/kata/5b84e44d6aa40d1ca5000124/train/bf
const bf = strCode => {
let orders = ',.[]<>+-'.split('');
let regex = {
clean: new RegExp('[^' + escapeRegExp(orders.join('')) + ']', 'g'),
value: /[\+\-]+/g,
pointer: /[\<\>]+/g,
instruction: /[0-9]*./g,
zero: /\[(\-|\+)\]/g
};
function factors(n) {
let max = Math.floor(Math.sqrt(n));
let res = [];
for (let i = 2; i <= max; ++i) {
if (n % i === 0) {
res.push(i);
n /= i;
max = Math.floor(Math.sqrt(n));
i = (Math.min(...res) || 2) - 1;
const singleNumber = nums => {
let ones = 0;
let twos = 0;
let notThrees = 0;
for (let n of nums) {
twos |= (ones & n);
ones ^= n;
notThrees = ~(ones & twos);
ones &= notThrees;
twos &= notThrees;
// Eulers bricks (brute force)
const check = (a, b, c) => {
if (Math.hypot(a, b) % 1 !== 0) return false;
if (Math.hypot(b, c) % 1 !== 0) return false;
if (Math.hypot(c, a) % 1 !== 0) return false;
return Math.hypot(a, b, c);
}
const MAX = 1e3;
// https://youtu.be/HDre_o2qz1o?t=238
// Dziadek i babcia mają razem 126 lat, a dziadek ma dwa razy tyle,
// ile babcia miała wtedy kiedy dziadek miał tyle ile babcia ma obecnie.
// Ile lat ma babcia?
const test = (x, diff) => {
const bago = x;
const d = bago * 2;
const b = bago + diff;
@gkucmierz
gkucmierz / List of over 1000 Polish names
Created November 29, 2022 07:51 — forked from hywak/List of over 1000 Polish names
php array of Polish names
$names = array('Apollona',
'Apollina',
'Apolonia',
'Arabella',
'Ariadna',
'Arleta',
'Arnolda',
'Astryda',
'Atena',
'Augusta',
[
"Kij bejsbolowy i piłka łącznie kosztują 1,10. Kij kosztuje o 1 dolar więcej niż piłka. Jaka w takim razie jest cena piłki?",
"5 urzqdzen produkuje 5 gadżetów w 5 minut. Jak długo zajmie 100 maszyn zrobienie 100 gadżetów?",
"W jeziorze znajdują sie liliowce. Każdego dnia stają się większe, podwajając swoją objętość. Jesli w 48 dni lisć pokryje całe jezioro, to ile czasu zajmie, by liść zakrył połowę jeziora?"
]