1. 程式人生 > >PTA 7-14 求n以內最大的k個素數以及它們的和(20 分)

PTA 7-14 求n以內最大的k個素數以及它們的和(20 分)

本題要求計算並輸出不超過n的最大的k個素數以及它們的和。

輸入格式:

輸入在一行中給出n(10n10000)和k(1k10)的值。

輸出格式:

在一行中按下列格式輸出:

素數1+素數2+…+素數k=總和值

其中素數按遞減順序輸出。若n以內不夠k個素數,則按實際個數輸出。

輸入樣例1:

1000 10

輸出樣例1:

997+991+983+977+971+967+953+947+941+937=9664

輸入樣例2:

12 6

輸出樣例2:

11+7+5+3+2=28
 







答案
#include<stdio.h>
  int main()
  {
    int c,n,k,sum=0,i=1,j,a[10],t=1;
    scanf("%d%d",&n,&k);
    while(i<=k)
    {
      for(j=n-1;j>1;j--)
      {
        c=n%j;
        if(c==0)break;
      }
      if(c!=0||n==2)
      {
        a[i]=n;
        sum=sum+n;
        i++;
      }
      n=n-1;
      if(n<2)break;
    }
    while(t<i-1)
    {
       printf("%d+",a[t]);
       t++;
    }
    printf("%d",a[t]);
    printf("=%d",sum);
    return 0;
  }

相關推薦

PTA 7-14 n以內k素數以及它們20

本題要求計算並輸出不超過n的最大的k個素數以及它們的和。 輸入格式: 輸入在一行中給出n(10≤n≤10000)和k(1≤k≤10)的值。 輸出格式: 在一行中按下列格式輸出: 素數1+素數2+…+素數k=總和值 其中素數按遞減順序輸出。若n以內不夠k個素數,則按實際個數輸出。 輸入樣例1: 1000

7-51 n以內k素數以及它們 20

7-51 求n以內最大的k個素數以及它們的和 (20 分) 本題要求計算並輸出不超過n的最大的k個素數以及它們的和。 輸入格式: 輸入在一行中給出n(10≤n≤10000)和k(1≤k≤10)的值。 輸出格式: 在一行中按下列格式輸出: 素數1+素數2+…+素數k

7-51 n以內k素數以及它們20

題目: 本題要求計算並輸出不超過n的最大的k個素數以及它們的和。 輸入格式: 輸入在一行中給出n(10≤n≤10000)和k(1≤k≤10)的值。 輸出格式: 在一行中按下列格式輸出: 素數1+素數2+…+素數k=總和值 其中素數按遞減順序輸出

7-51 n以內k素數以及它們

7-51 求n以內最大的k個素數以及它們的和(20 分) 本題要求計算並輸出不超過n的最大的k個素數以及它們的和。 輸入格式: 輸入在一行中給出n(10≤n≤10000)和k(1≤k≤10)

中M2018春C入門進階練習集-程式設計題51 7-51 n以內k素數以及它們20

7-51 求n以內最大的k個素數以及它們的和(20 分) 本題要求計算並輸出不超過n的最大的k個素數以及它們的和。 輸入格式: 輸入在一行中給出n(10≤n≤10000)和k(1≤k≤10)的值。 輸出格式: 在一行中按下列格式輸出: 素數1+素數2+…+素數k=

PTA-n以內k素數以及它們C語言

輸入樣例1: 1000 10 輸出樣例1: 997+991+983+977+971+967+953+947+941+937=9664 輸入樣例2: 12 6 輸出樣例2: 11+7+5+3+2=28 #include <stdio.h> //判斷素數 int prime(i

PTA教輔 n以內k素數以及它們

5-22 求n以內最大的k個素數以及它們的和   (20分) 本題要求計算並輸出不超過n的最大的k個素數以及它們的和。 輸入格式: 輸入在一行中給出n(10≤\le≤n≤\le≤10000)和k(

n以內k素數以及它們

import java.util.Scanner; public class sushu {     public static void main(String[] args) {         Scanner scanf =new Scanner(System.

中M2018春C入門進階練習集 函數題 6-1 使用函數素數20

|| bre 題目 span lse for mes view html 函數題 6-1 使用函數求素數和(20 分) 本題要求實現一個判斷素數的簡單函數、以及利用該函數計算給定區間內素數和的函數。 素數就是只能被1和自身整除的正整數。註意:1不是素數,2是素數。 函

練習7-4 找出不是兩陣列共有的元素 20 (靈活運用flage作為判斷條件

給定兩個整型陣列,本題要求找出不是兩者共有的元素。 輸入格式: 輸入分別在兩行中給出兩個整型陣列,每行先給出正整數N(≤20),隨後是N個整數,其間以空格分隔。 輸出格式: 在一行中按照數字給出的順序輸出不是兩陣列共有的元素,數字間以空格分隔,但行末不得有多餘的空格。題目保證至少存在

6-1 使用函式素數20

本題要求實現一個判斷素數的簡單函式、以及利用該函式計算給定區間內素數和的函式。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。函式介面定義:int prime( int p ); int PrimeSum( int m, int n ); 其中函式prime當用戶傳入引數p為素數時返回1,否則

數字N以內質數

public class Prime { public static void main(String[] args) { for (int i =N; i >2; i--) { if (isP

PTA 練習7-2 值及其小下標20

本題要求編寫程式,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。 輸入格式: 輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。 輸出格式: 在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。 輸入樣例

實驗7-1-2 值及其下標20

/* 時間:2018年4月6日16:13:18 思路:設最大值為a[0],遍歷陣列,找打最大值對應的下標,並記錄下來。 */ #include<stdio.h> #define N 10 i

c++中100以內的10素數

c++中求100以內最大的10個素數, 並將這10個最大的素數按4個一行輸出, 然後對這10個素數求和 思路:判斷一個數m是否為素數,需要讓2~m-1的所有數來除以m, 但是m的因子是成對出現的,所以只需用2~m的平方根來除以m即可,這樣可以提高計算速度,優化程式碼 #include

練習7-2 值及其下標20

本題要求編寫程式,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。輸入格式:輸入在第一行中給出一個正整數n(1)。第二行輸入n個整數,用空格分開。輸出格式:在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。輸入樣例:6 2 8 10 1 9 10 輸出樣

7-16 一元多項式20 (有關while(scanf("%d",&n)!=EOF))

margin 常數 解題思路 return 做的 gin 遇到 bsp title 7-16 一元多項式求導(20 分) 設計函數求一元多項式的導數。 輸入格式: 以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。

7-34 分數序列前N 15

本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。 輸入格式: 輸入在一行中給出一個正整數N。 輸出格式: 在一行中輸出部分和的值,精確到小數點後兩位。題目保證計算結果不

7-32 交錯序列前N 15

本題要求編寫程式,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N項之和。 輸入格式: 輸入在一行中給出一個正整數N。 輸出格式: 在一行中輸出部分和的值,結果保留三位小數。 輸入樣例: 5 輸出樣例: 0.917 思路:觀察得第

PTA7-3 值及其下標20

7-3 求最大值及其下標(20 分)本題要求編寫程式,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。輸入格式:輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。輸出格式