- #include<stdio.h>
- #include<math.h>
- #define N 10
- int isPrime(int p);
- int main()
- {
- int n, k, i, count, sum = 0;
- int maxPrimes[N];
- scanf("%d%d", &n, &k);
- i = n;
- count = 0;
- while (i> 0)
- {
- if (count < k)
- {
- if (isPrime(i))
- {
- maxPrimes[count] = i;
- sum += i;
- count++;
- }
- }
- else
- {
- break;
- }
- i--;
- }
- for (i = 0; i < count - 1; i++)
- {
- printf("%d ", maxPrimes[i]);
- }
- printf("%d=%d", maxPrimes[count - 1], sum);
- return 0;
- }
- int isPrime(int p)
- {
- int isPrime = 1;
- int i;
- if (p < 2)
- {
- isPrime = 0;
- }
- else {
- for (i = 2; i <= (int)sqrt(p); i++)
- {
- if (p % i == 0)
- {
- isPrime = 0;
- break;
- }
- }
- }
- return isPrime;
- }
来源: http://www.bubuko.com/infodetail-3509055.html