计算比最大公约数小的数字的和怎么算,采用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

1个回答

#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);
    }
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐