結果

問題 No.3030 ミラー・ラビン素数判定法のテスト
ユーザー 👑 MizarMizar
提出日時 2022-09-11 03:33:30
言語 JavaScript
(node v21.7.1)
結果
AC  
実行時間 419 ms / 9,973 ms
コード長 23,857 bytes
コンパイル時間 98 ms
コンパイル使用メモリ 6,940 KB
実行使用メモリ 53,264 KB
最終ジャッジ日時 2024-05-05 13:27:19
合計ジャッジ時間 5,843 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 80 ms
47,944 KB
testcase_01 AC 77 ms
47,936 KB
testcase_02 AC 83 ms
47,860 KB
testcase_03 AC 83 ms
46,080 KB
testcase_04 AC 407 ms
51,220 KB
testcase_05 AC 375 ms
51,216 KB
testcase_06 AC 362 ms
51,100 KB
testcase_07 AC 377 ms
51,204 KB
testcase_08 AC 358 ms
53,264 KB
testcase_09 AC 419 ms
52,996 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

let imports = {};
let wasm;

const u32CvtShim = new Uint32Array(2);
const uint64CvtShim = new BigUint64Array(u32CvtShim.buffer);

/**
* @param {bigint} n
* @returns {boolean}
*/
const isprime = function(n) {
    uint64CvtShim[0] = n;
    const low0 = u32CvtShim[0];
    const high0 = u32CvtShim[1];
    const ret = wasm.isprime(low0, high0);
    return ret !== 0;
};

const b64str = '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IAA2AhwgAiAJNgIYIAggBCgCAEEDdGoiACgCACACQQhqIAAoAgQRAQANAiADQQhqIQMgCyAFQSBqIgVHDQALC0EAIQAgByABKAIESSIDRQ0BIAIoAiAgASgCACAHQQN0akEAIAMbIgEoAgAgASgCBCACKAIkKAIMEQMARQ0BC0EBIQALIAJBMGokACAAC80EAQR/IAAgARA/IQICQAJAAkAgABA6DQAgACgCACEDAkAgABA0RQRAIAEgA2ohASAAIAMQQCIAQayNwAAoAgBHDQEgAigCBEEDcUEDRw0CQaSNwAAgATYCACAAIAEgAhAmDwsgASADakEQaiEADAILIANBgAJPBEAgABANDAELIABBDGooAgAiBCAAQQhqKAIAIgVHBEAgBSAENgIMIAQgBTYCCAwBC0GUisAAQZSKwAAoAgBBfiADQQN2d3E2AgALIAIQMgRAIAAgASACECYMAgsCQEGwjcAAKAIAIAJHBEAgAkGsjcAAKAIARw0BQayNwAAgADYCAEGkjcAAQaSNwAAoAgAgAWoiATYCACAAIAEQKw8LQbCNwAAgADYCAEGojcAAQaiNwAAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEGsjcAAKAIARw0BQaSNwABBADYCAEGsjcAAQQA2AgAPCyACEDkiAyABaiEBAkAgA0GAAk8EQCACEA0MAQsgAkEMaigCACIEIAJBCGooAgAiAkcEQCACIAQ2AgwgBCACNgIIDAELQZSKwABBlIrAACgCAEF+IANBA3Z3cTYCAAsgACABECsgAEGsjcAAKAIARw0BQaSNwAAgATYCAAsPCyABQYACTwRAIAAgARAMDwsgAUEDdiICQQN0QZyKwABqIQECf0GUisAAKAIAIgNBASACdCICcQRAIAEoAggMAQtBlIrAACACIANyNgIAIAELIQIgASAANgIIIAIgADYCDCAAIAE2AgwgACACNgIIC+sCAQN/AkACQAJAAkAgAUEJTwRAQRBBCBAsIAFLDQEMAgsgABAAIQMMAgtBEEEIECwhAQtBgIB8QQhBCBAsQRRBCBAsakEQQQgQLGprQXdxQX1qIgRBAEEQQQgQLEECdGsiAiACIARLGyABayAATQ0AIAFBECAAQQRqQRBBCBAsQXtqIABLG0EIECwiBGpBEEEIECxqQXxqEAAiAkUNACACEEIhAAJAIAFBf2oiAyACcUUEQCAAIQEMAQsgAiADakEAIAFrcRBCIQJBEEEIECwhAyAAEDkgAkEAIAEgAiAAayADSxtqIgEgAGsiAmshAyAAEDRFBEAgASADECQgACACECQgACACEAcMAQsgACgCACEAIAEgAzYCBCABIAAgAmo2AgALIAEQNA0BIAEQOSICQRBBCBAsIARqTQ0BIAEgBBA/IQAgASAEECQgACACIARrIgQQJCAAIAQQBwwBCyADDwsgARBBIAEQNBoL0QIBA38jAEEQayICJAACQAJ/AkAgAUGAAU8EQCACQQA2AgwgAUGAEE8NASACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgwCCyAAKAIIIgMgAEEEaigCAEYEQCAAIAMQESAAKAIIIQMLIAAgA0EBajYCCCAAKAIAIANqIAE6AAAMAgsgAUGAgARPBEAgAiABQT9xQYABcjoADyACIAFBEnZB8AFyOgAMIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADUEEDAELIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMLIQEgAEEEaigCACAAQQhqIgQoAgAiA2sgAUkEQCAAIAMgARAQIAQoAgAhAwsgACgCACADaiACQQxqIAEQPhogBCABIANqNgIACyACQRBqJAALtgIBB38CQCACQQ9NBEAgACEDDAELIABBACAAa0EDcSIEaiEFIAQEQCAAIQMgASEGA0AgAyAGLQAAOgAAIAZBAWohBiADQQFqIgMgBUkNAAsLIAUgAiAEayIIQXxxIgdqIQMCQCABIARqIgRBA3EEQCAHQQFIDQEgBEEDdCICQRhxIQkgBEF8cSIGQQRqIQFBACACa0EYcSECIAYoAgAhBgNAIAUgBiAJdiABKAIAIgYgAnRyNgIAIAFBBGohASAFQQRqIgUgA0kNAAsMAQsgB0EBSA0AIAQhAQNAIAUgASgCADYCACABQQRqIQEgBUEEaiIFIANJDQALCyAIQQNxIQIgBCAHaiEBCyACBEAgAiADaiECA0AgAyABLQAAOgAAIAFBAWohASADQQFqIgMgAkkNAAsLIAALtwICBX8BfiMAQTBrIgQkAEEnIQICQCAAQpDOAFQEQCAAIQcMAQsDQCAEQQlqIAJqIgNBfGogACAAQpDOAIAiB0KQzgB+faciBUH//wNxQeQAbiIGQQF0QZSIwABqLwAAOwAAIANBfmogBSAGQeQAbGtB//8DcUEBdEGUiMAAai8AADsAACACQXxqIQIgAEL/wdcvViAHIQANAAsLIAenIgNB4wBLBEAgAkF+aiICIARBCWpqIAenIgMgA0H//wNxQeQAbiIDQeQAbGtB//8DcUEBdEGUiMAAai8AADsAAAsCQCADQQpPBEAgAkF+aiICIARBCWpqIANBAXRBlIjAAGovAAA7AAAMAQsgAkF/aiICIARBCWpqIANBMGo6AAALIAEgBEEJaiACakEnIAJrEAMgBEEwaiQAC6QCAQV/IABCADcCECAAAn9BACABQYACSQ0AGkEfIAFB////B0sNABogAUEGIAFBCHZnIgJrdkEBcSACQQF0a0E+agsiAjYCHCACQQJ0QaSMwABqIQMgACEEAkACQAJAAkBBmIrAACgCACIFQQEgAnQiBnEEQCADKAIAIQMgAhAqIQIgAxA5IAFHDQEgAyECDAILQZiKwAAgBSAGcjYCACADIAA2AgAMAwsgASACdCEFA0AgAyAFQR12QQRxakEQaiIGKAIAIgJFDQIgBUEBdCEFIAIiAxA5IAFHDQALCyACKAIIIgEgBDYCDCACIAQ2AgggBCACNgIMIAQgATYCCCAAQQA2AhgPCyAGIAA2AgALIAAgAzYCGCAEIAQ2AgggBCAENgIMC7YCAQV/IAAoAhghBAJAAkAgACAAKAIMRgRAIABBFEEQIABBFGoiASgCACIDG2ooAgAiAg0BQQAhAQwCCyAAKAIIIgIgACgCDCIBNgIMIAEgAjYCCAwBCyABIABBEGogAxshAwNAIAMhBSACIgFBFGoiAygCACICRQRAIAFBEGohAyABKAIQIQILIAINAAsgBUEANgIACwJAIARFDQACQCAAIAAoAhxBAnRBpIzAAGoiAigCAEcEQCAEQRBBFCAEKAIQIABGG2ogATYCACABDQEMAgsgAiABNgIAIAENAEGYisAAQZiKwAAoAgBBfiAAKAIcd3E2AgAPCyABIAQ2AhggACgCECICBEAgASACNgIQIAIgATYCGAsgAEEUaigCACIARQ0AIAFBFGogADYCACAAIAE2AhgLC28BDH9BxI3AACgCACICRQRAQdSNwABB/x82AgBBAA8LQbyNwAAhBgNAIAIiASgCCCECIAEoAgQhAyABKAIAIQQgAUEMaigCABogASEGIAVBAWohBSACDQALQdSNwAAgBUH/HyAFQf8fSxs2AgAgCAuEAgIEfwF+IwBBMGsiAiQAIAFBBGohBCABKAIERQRAIAEoAgAhAyACQRBqIgVBADYCACACQgE3AwggAiACQQhqNgIUIAJBKGogA0EQaikCADcDACACQSBqIANBCGopAgA3AwAgAiADKQIANwMYIAJBFGogAkEYahAGGiAEQQhqIAUoAgA2AgAgBCACKQMINwIACyACQSBqIgMgBEEIaigCADYCACABQQxqQQA2AgAgBCkCACEGIAFCATcCBCACIAY3AxhBDEEEEC8iAUUEQEEMQQQQPQALIAEgAikDGDcCACABQQhqIAMoAgA2AgAgAEH0hsAANgIEIAAgATYCACACQTBqJAALrAEBAn8jAEEgayIDJAACQCABIAJqIgIgAUkNACAAQQRqKAIAIgFBAXQiBCACIAQgAksbIgJBCCACQQhLGyEEIAMgAQR/IAMgATYCFCADIAAoAgA2AhBBAQVBAAs2AhggAyAEIANBEGoQFCADKAIABEAgA0EIaigCACIARQ0BIAMoAgQgABA9AAsgAygCBCEBIABBBGogBDYCACAAIAE2AgAgA0EgaiQADwsQIgALrAEBA38jAEEgayICJAACQCABQQFqIgMgAUkNACAAQQRqKAIAIgFBAXQiBCADIAQgA0sbIgNBCCADQQhLGyEDIAIgAQR/IAIgATYCFCACIAAoAgA2AhBBAQVBAAs2AhggAiADIAJBEGoQFCACKAIABEAgAkEIaigCACIARQ0BIAIoAgQgABA9AAsgAigCBCEBIABBBGogAzYCACAAIAE2AgAgAkEgaiQADwsQIgAL7wEBA38jAEEgayIFJABBkIrAAEGQisAAKAIAIgdBAWo2AgBB2I3AAEHYjcAAKAIAQQFqIgY2AgACQAJAIAdBAEggBkECS3INACAFIAQ6ABggBSADNgIUIAUgAjYCEEGEisAAKAIAIgJBf0wNAEGEisAAIAJBAWoiAjYCAEGEisAAQYyKwAAoAgAiAwR/QYiKwAAoAgAgBSAAIAEoAhARAAAgBSAFKQMANwMIIAVBCGogAygCFBEAAEGEisAAKAIABSACC0F/ajYCACAGQQFLDQAgBA0BCwALIwBBEGsiAiQAIAIgATYCDCACIAA2AggAC6cBAQN/IwBBMGsiAiQAIAFBBGohAyABKAIERQRAIAEoAgAhASACQRBqIgRBADYCACACQgE3AwggAiACQQhqNgIUIAJBKGogAUEQaikCADcDACACQSBqIAFBCGopAgA3AwAgAiABKQIANwMYIAJBFGogAkEYahAGGiADQQhqIAQoAgA2AgAgAyACKQMINwIACyAAQfSGwAA2AgQgACADNgIAIAJBMGokAAuIAQEBfwJAAn8CQAJAAkACf0EBIgMgAUEASA0AGiACKAIIRQ0CIAIoAgQNASABDQNBAQwECyEDQQAhAQwECyACKAIAIAEQBQwCCyABDQBBAQwBCyABQQEQLwsiAgRAIAAgAjYCBEEAIQMMAQsgACABNgIEQQEhAQsgACADNgIAIABBCGogATYCAAueAQECfyMAQRBrIgMkACAAQRRqKAIAIQQCQAJ/AkACQCAAQQRqKAIADgIAAQMLIAQNAkEAIQBBsIXAAAwBCyAEDQEgACgCACIEKAIEIQAgBCgCAAshBCADIAA2AgQgAyAENgIAIANBqIfAACABKAIIIAIgAS0AEBASAAsgA0EANgIEIAMgADYCACADQZSHwAAgASgCCCACIAEtABAQEgALZQEEfiAAIAJC/////w+DIgMgAUL/////D4MiBH4iBSADIAFCIIgiBn4iAyAEIAJCIIgiAn58IgFCIIZ8IgQ3AwAgACAEIAVUrSACIAZ+IAEgA1StQiCGIAFCIIiEfHxCAHw3AwgLdQEDfyAAIAAQQSIAQQgQLCAAayICED8hAEGojcAAIAEgAmsiATYCAEGwjcAAIAA2AgAgACABQQFyNgIEQQhBCBAsIQJBFEEIECwhA0EQQQgQLCEEIAAgARA/IAQgAyACQQhramo2AgRBzI3AAEGAgIABNgIAC1QBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGogAkEIahAGIAJBIGokAAtnACMAQTBrIgEkAEHcicAALQAABEAgAUEcakEBNgIAIAFCAjcCDCABQYCGwAA2AgggAUEBNgIkIAEgADYCLCABIAFBIGo2AhggASABQSxqNgIgIAFBCGpBqIbAABAjAAsgAUEwaiQAC1YBAn4CQCACQcAAcUUEQCACRQ0BQgAgAkE/ca0iBIYgAUEAIAJrQT9xrYiEIQMgASAEhiEBDAELIAEgAkE/ca2GIQNCACEBCyAAIAE3AwAgACADNwMIC04BAn8gACgCACIDQQRqKAIAIANBCGoiBCgCACIAayACSQRAIAMgACACEBAgBCgCACEACyADKAIAIABqIAEgAhA+GiAEIAAgAmo2AgBBAAtLAAJAAn8gAUGAgMQARwRAQQEgACgCGCABIABBHGooAgAoAhARAQANARoLIAINAUEACw8LIAAoAhggAkEAIABBHGooAgAoAgwRAwALRwEBfyMAQSBrIgMkACADQRRqQQA2AgAgA0GEiMAANgIQIANCATcCBCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQIwALRAECfyABKAIEIQIgASgCACEDQQhBBBAvIgFFBEBBCEEEED0ACyABIAI2AgQgASADNgIAIABBhIfAADYCBCAAIAE2AgALOQEBfyABQRB2QAAhAiAAQQA2AgggAEEAIAFBgIB8cSACQX9GIgEbNgIEIABBACACQRB0IAEbNgIACzUBAX8jAEEgayICJAAgAiABEAQgAikDECEBIAAgAkEYaikDADcDCCAAIAE3AwAgAkEgaiQAC2gBA38jAEEQayIBJAAgACgCDCICRQRAQbCFwABBK0HUhsAAEB0ACyAAKAIIIgNFBEBBsIXAAEErQeSGwAAQHQALIAEgAjYCCCABIAA2AgQgASADNgIAIAEoAgAgASgCBCABKAIIEBUACz8BAX8jAEEgayIAJAAgAEEcakEANgIAIABBvIfAADYCGCAAQgE3AgwgAEHsh8AANgIIIABBCGpB9IfAABAjAAs+AQF/IwBBIGsiAiQAIAJBAToAGCACIAE2AhQgAiAANgIQIAJBhIjAADYCDCACQYSIwAA2AgggAkEIahAhAAsnACAAIAAoAgRBAXEgAXJBAnI2AgQgACABaiIAIAAoAgRBAXI2AgQLIAEBfwJAIAAoAgQiAUUNACAAQQhqKAIARQ0AIAEQAgsLIwAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALHgAgACABQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIECxQAIABBBGooAgAEQCAAKAIAEAILCxkBAX8gACgCECIBBH8gAQUgAEEUaigCAAsLEgBBAEEZIABBAXZrIABBH0YbCxYAIAAgAUEBcjYCBCAAIAFqIAE2AgALEAAgACABakF/akEAIAFrcQsOACAArSABrUIghoQQAQsPACAAQQF0IgBBACAAa3ILCAAgACABEAgLDQAgACgCACABEAlBAAsTACAAQYSHwAA2AgQgACABNgIACw0AIAAtAARBAnFBAXYLCgBBACAAayAAcQsLACAALQAEQQNxRQsMACAAIAFBA3I2AgQLDQAgACgCACAAKAIEagsOACAAKAIAGgNADAALAAsLACAANQIAIAEQCwsKACAAKAIEQXhxCwoAIAAoAgRBAXELCgAgACgCDEEBcQsKACAAKAIMQQF2CxkAIAAgAUGAisAAKAIAIgBBAiAAGxEAAAALCgAgACABIAIQCgsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsHACAAQXhqCwwAQtDP+OGG3NjFbQsNAEKL5OeV8riP17h/Cw0AQtDl+IeL46r17wALAwABCwvmCQEAQYCAwAAL3AlhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAAAAAAAAAGF0dGVtcHQgdG8gY2FsY3VsYXRlIHRoZSByZW1haW5kZXIgd2l0aCBhIGRpdmlzb3Igb2YgemVyb3NyY1xsaWIucnMAWQAQAAoAAACgAAAADgAAAAAAAAATAgECEAACAAGAAggQAABCBAABAAACAAAQIAgAAggAAClABACCAAAYEAAAgAASAAAABEGAAAAAIgAIIAAQBACBAAECAEAAAAgBIggABAACBEAAAASQAAAAgAgAAgCAAAAAIAEAIAAYAAgSgAAAAAAAEECAAAAQJgACAACAAACAAEUQEEAABAgBAgEABADAIAAQAAwQAABAAAgCBAAAMAEAAAABIAAABAiAAEACIEAIEEAAIAAQAAECAGCAAAAAAkQAAAACBAEAAAEIIAGAAEAQAAQCAAAAgEACAACAMAgQAAAABAAAFCCCAAAQIEAIAAgAAAEABAGAAGCAAAgBAgASAAAAgAEAAAAYAAAAJAAABAACAEFCAAAAAAAAAAgQAACDBEAIECAQAAAQIAgCAAjAAAEAIASAAAAQBAACAAECAAAAAEGAAgAAJAAAgAABBACAAAEQAEgABAgAACgABAACIEAIEAgQAAAAAAgAEEDAIAAAIgAAJAAQAAgCAEAAAAAAAEgAAAAQBAFCgACAAASAAEAQAAACBggAECEAIACAIAAQAAgQAAEAAEACEAAAIAAAAAQCACCABACAAEQAIEgAgAABAAAAAAFCAECQAAgAAAACgAACBEEAEAEQIAAABAAQACCCAEAAIEAAAAAAIAgQAgCABCAAAACAAAAQIAACAFkAEAAKAAAAxQAAABIAAABZABAACgAAAOIAAAANAAAAAwAAAAQAAAAEAAAABAAAAAUAAAAGAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZW1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQKAADbAhAAFQAAAPACEAAOAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzEAMQABgAAABSAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnM4AxAAHAAAAEYCAAAfAAAAOAMQABwAAABHAgAAHgAAAAcAAAAMAAAABAAAAAgAAAADAAAACAAAAAQAAAAJAAAACgAAABAAAAAEAAAACwAAAAwAAAADAAAACAAAAAQAAAANAAAADgAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNjYXBhY2l0eSBvdmVyZmxvdwAAANgDEAARAAAAvAMQABwAAAAFAgAABQAAABAAAAAAAAAAAQAAABEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQB7CXByb2R1Y2VycwIIbGFuZ3VhZ2UBBFJ1c3QADHByb2Nlc3NlZC1ieQMFcnVzdGMdMS42My4wICg0YjkxYTZlYTcgMjAyMi0wOC0wOCkGd2FscnVzBjAuMTkuMAx3YXNtLWJpbmRnZW4SMC4yLjgyICg1OTg4M2VhY2Ep';

//const bytes = Buffer.from(b64str, 'base64');
const bytes = Uint8Array.from([...atob(b64str)].map(s=>s.charCodeAt(0)));
const wasmModule = new WebAssembly.Module(bytes);
const wasmInstance = new WebAssembly.Instance(wasmModule, imports);
wasm = wasmInstance.exports;

const hrStart = process.hrtime();
let n = null;
process.stdin.setEncoding("utf8");
const reader = require("readline").createInterface({input: process.stdin});
reader.on("line", (l) => {
    if (n === null) {
        n = l;
    } else {
        console.log(`${l} ${isprime(l)?1:0}`);
    }
});
reader.on("close", () => {
    const hrEnd = process.hrtime(hrStart);
    console.error(`${hrEnd[0]*1e3+hrEnd[1]/1e6}ms`);
});
0