CREATE DATABASE family;
USE family;
CREATE TABLE rels (padre INT, hijo INT);
INSERT INTO rels (padre, hijo) VALUES (20, 18);
INSERT INTO rels (padre, hijo) VALUES (12, 6);
INSERT INTO rels (padre, hijo) VALUES (18, 4);
INSERT INTO rels (padre, hijo) VALUES (34, 20);
INSERT INTO rels (padre, hijo) VALUES (18, 5);
INSERT INTO rels (padre, hijo) VALUES (18, 6);
INSERT INTO rels (padre, hijo) VALUES (18, 7);
SELECT b.padre AS abuelo, a.hijo AS nieto
FROM rels AS a
LEFT OUTER JOIN rels AS b
ON a.padre = b.hijo
WHERE b.padre IS NOT NULL
ORDER BY abuelo;
var sparse = function(content) {
var samples = content.split('\n');
var strings = getStrings(samples);
var queries = getQueries(samples);
var occurrencies = {};
queries.forEach(function(query) {
occurrencies[query] = 0;
strings.forEach(function(string) {
if (string == query) occurrencies[query]++;
});
});
return Object.values(occurrencies);
}
var getStrings = function(rows) {
var stringsLength = getStringsLength(rows);
return rows.splice(0, stringsLength);
}
var getStringsLength = function(rows) {
return parseInt(rows.splice(0, 1)[0]);
}
var getQueries = function(rows) {
var queriesLength = getQueriesLength(rows);
return rows.splice(0, queriesLength);
}
var getQueriesLength = function(rows) {
return parseInt(rows.splice(0, 1)[0]);
}
var text = '4\naba\nbaba\naba\nxzxb\n3\naba\nxzxb\nab';
console.info(sparse(text));
var super_digit = function(number) {
number = new String(number)
var digits = number.split('');
if (digits.length > 1) {
var sum = 0;
digits.forEach(function(digit) {
sum += parseInt(digit);
});
return super_digit(sum);
} else {
return parseInt(number);
}
}
var number = 9875;
console.info(super_digit(number));