Skip to content

Instantly share code, notes, and snippets.

@zhiyelee
Last active August 29, 2015 13:59
Show Gist options
  • Save zhiyelee/10571342 to your computer and use it in GitHub Desktop.
Save zhiyelee/10571342 to your computer and use it in GitHub Desktop.
codeforces
// http://codeforces.com/contest/236/problem/A
function judge(str) {
var arr = str.split('');
var obj = {};
var len = 0;
for (var i = 0; i < arr.length; i++) {
if (!obj[arr[i]]) {
obj[arr[i]] = 1;
len ++;
}
}
if (len % 2) {
print('IGNORE HIM!');
} else {
print('CHAT WITH HER!');
}
}
judge(readline().split(' ')[0]);
// http://codeforces.com/contest/236/problem/B
var memObj = {};
function d(n) {
var num = 0;
if (memObj[n]) {
num = memObj[n];
} else {
if (n == 1) return 1;
num = 2;
var k = Math.floor(Math.sqrt(n));
for (var i = 2; i <= k; i++) {
if (n%i === 0) {
num += 2;
}
if (i*i ==n ) num --;
}
memObj[n] = num;
}
return num;
}
function getSum(a,b,c) {
var sum = 0;
for (var i = 1; i <= a; i++) {
for (var j = 1; j <= b; j++) {
for (var k =1; k <= c; k++) {
sum += d(i*j*k);
}
}
}
return sum;
}
var args = readline().split(' ');
print(getSum(args[0], args[1], args[2])%1073741824);
// http://codeforces.com/contest/236/problem/C
function mlcm(n) {
var res,tmp;
if (n < 3) {
return n;
}
if (n%2 === 1) {
res = bigIntMultiply(bigIntMultiply(n, n-1), n-2);
} else {
res = bigIntMultiply(bigIntMultiply(n-1, n-2), n-3);
tmp = 0;
if (n%3 !== 0) {
tmp = bigIntMultiply(bigIntMultiply(n, n-1), n-3);
}
// not str compare, so use substraction
res = res - tmp > 0 ? res : tmp;
}
return res;
}
// big int number multiply
function bigIntMultiply(f, s) {
f = f + '';
s = s + '';
var fArr = f.split('').reverse();
var sArr = s.split('').reverse();
var sumArr = [];
var fl = fArr.length,
sl = sArr.length;
for (var i = 0; i < fl; i++) {
var carry = 0,
sum = 0;
var fi = fArr[i];
for (var j = 0; j < sl; j++) {
var sj = sArr[j];
sum = fi * sj;
carry = Math.floor(sum / 10);
sum = sum % 10;
index = i + j;
if (sumArr[index]) {
sum += sumArr[index];
carry += Math.floor(sum/10);
sum = sum % 10;
sumArr[index] = sum;
if (carry > 0) {
sumArr = addCarry(sumArr, carry, index + 1);
}
} else {
sumArr[index] = sum;
if (carry > 0) {
sumArr = addCarry(sumArr, carry, index + 1);
}
}
}
}
return sumArr.reverse().join('');
}
// add carry number
function addCarry(sumArr, carry, destIndex) {
var destNum = sumArr[destIndex];
if (typeof destNum == 'undefined') {
sumArr.push(carry);
} else {
destNum = destNum + carry;
carry = Math.floor(destNum / 10);
if (carry > 0) {
sumArr[destIndex] = destNum % 10;
sumArr = addCarry(sumArr, carry, destIndex + 1);
} else {
sumArr[destIndex] = destNum;
}
}
return sumArr;
}
// console.log(bigIntMultiply(12,12));
// console.log(bigIntMultiply(2,2));
// console.log(bigIntMultiply(8,8));
// console.log(mlcm(9));
// console.log(mlcm(4));
var args = readline().split(' ');
print(mlcm(args[0]));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment