Login with GitHub. Nope?
修正 C++ 的程式碼在使用一定量動態記憶體後會產生 RF 的問題 @ 2019/12/6 4:45pm NeoHOJ 強勢復活中 (Open beta)
Submit  Ranklist

Problem : 23 - [互動題]G.C.D

Problem Statistics

Solved Member: 67  Submission: 166  User Tried: 71

Statement:

本題為互動題,請你引入在程式碼的上面加上#include "interactive/23.h"

程式會給你一個長度為n的數列,你必須從第2個開始輸出到目前為止的最大公因數。
請注意,本題不必要讀入任何數字,也不需要輸出任何數字,如果你輸入或輸出任何數字就會失敗。

你有四個函式可以使用:

1.void GetN(int &x);
請在程式最開始的時候使用他,程式會將x寫入序列的長度。

2.void Get(int &x);
程式會把x指定為數列的下一個數字,你必須使用這個函式n次。
注意,函式使用順序除了第一次以外必須每Get()一次Report()一次,否則你會得到Wrong Answer。

3.void Report(int x);
回傳一個答案,x為目前最大公因數的數字。如果答案錯誤或者是沒有依照Get()與Report()的順序皆會得到Wrong Answer。

4.void Bye();
當你把全部的答案回傳完以後,請你執行這個函式。

題目限制:數列長度最長為100000,滿足每個數字seq皆是正整數,1 <= seq <= 2147483647。
這裡有一個範例的檔案可以供測試。

Input:Output:

一個只會回傳3,6,9答案的範例程式
3 6的最大公因數是3,因此回傳3。
3 6 9三個數字的最大公因數也是3,因此還是回傳3。

Problem Setter

Testdata:

TestTimeMemoryScore
01000ms65536kb
11000ms65536kb10
21000ms65536kb10
31000ms65536kb10
41000ms65536kb10
51000ms65536kb10
61000ms65536kb10
71000ms65536kb10
81000ms65536kb10
91000ms65536kb10
101000ms65536kb10