aboutsummaryrefslogtreecommitdiff
path: root/tests/sysy_lvX/test5_2.sy
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.001@gmail.com>2026-09-15 08:16:43 +0800
committerRichard Qin <richard.qin.001@gmail.com>2026-09-15 08:16:43 +0800
commit4022e5c95210631e4aceb08eaf9d9071aa5aefc4 (patch)
treea5922559836e45fb3459a3d070367912e1035b1a /tests/sysy_lvX/test5_2.sy
downloadrcc-4022e5c95210631e4aceb08eaf9d9071aa5aefc4.tar.gz
rcc-4022e5c95210631e4aceb08eaf9d9071aa5aefc4.tar.xz
Set up a git repoHEADmaster
Diffstat (limited to 'tests/sysy_lvX/test5_2.sy')
-rw-r--r--tests/sysy_lvX/test5_2.sy40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/sysy_lvX/test5_2.sy b/tests/sysy_lvX/test5_2.sy
new file mode 100644
index 0000000..11270fd
--- /dev/null
+++ b/tests/sysy_lvX/test5_2.sy
@@ -0,0 +1,40 @@
+int isPrime[100005];
+int prime[10005]; //绱犳暟涓嶈寮€澶ぇ
+
+int main()
+{
+ int n;
+ int q;
+ int k;
+ int cnt;
+ int i;
+ int j;
+
+ n = getint();
+ q = getint();
+
+ cnt = 1;
+ i=2;
+ while (i<=n) {
+ if (isPrime[i] == 0) {
+ prime[cnt] = i;
+ cnt = cnt+1;
+ }
+ j=1;
+ while (j<cnt && prime[j]*i<=n) {
+ isPrime[prime[j]*i] = 1;
+ if (i%prime[j] == 0) {
+ break;
+ }
+ j=j+1;
+ }
+ i=i+1;
+ }
+ i=0;
+ while (i<q) {
+ k=getint();
+ putint(prime[k]);
+ i=i+1;
+ }
+ return 0;
+} \ No newline at end of file