计算比最大公约数小的数字的和怎么算,采用C语言程序设计的技术的办法

Problem Description
We call a positive number X P-number if there is not a positive number that is less than X and the greatest common divisor of these two numbers is bigger than 1.
Now you are given a sequence of integers. You task is to calculate the sum of P-numbers of the sequence.

Input
There are several test cases.
In each test case:
The first line contains a integer N(1≤N≤1000). The second line contains N integers. Each integer is between 1 and 1000.

Output
For each test case, output the sum of P-numbers of the sequence.

Sample Input
3
5 6 7
1
10

Sample Output
12
0

#include <stdio.h>
int prime(int x) {
    for (int i = 2; i*i < x; i++)
        if (x%i == 0)
            return 0;
    return 1;
}
void main() {
    int n,m;
    while (scanf("%d\n", &n) != -1) {
        m = 0;
        for (int i = 0; i < n; i++) {
            int k = 0;
            scanf("%d", &k);
            m +=prime(k)*k;
        }
        printf("%d\n", m);
    }
}