You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
599 B
29 lines
599 B
#!/usr/bin/env node |
|
var bn = require('bn.js'); |
|
var fs = require('fs'); |
|
var mr = require('../').create(); |
|
|
|
var num = ''; |
|
if (process.argv[2]) { |
|
num += fs.readFileSync(process.argv[2]); |
|
start(num); |
|
} else { |
|
process.stdin.on('data', function(chunk) { |
|
num += chunk.toString().replace(/[^0-9a-f]/gi, ''); |
|
}); |
|
process.stdin.once('end', function() { |
|
start(num); |
|
}); |
|
} |
|
|
|
function start(text) { |
|
var num = new bn(text, 16); |
|
|
|
var divisor = mr.getDivisor(num); |
|
if (!divisor) |
|
process.exit(1); |
|
if (divisor.cmpn(1) === 0) |
|
process.exit(0); |
|
|
|
console.log(divisor.toString(16)); |
|
}
|
|
|