亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

函數作業問題

函數作業問題

C++
嗶嗶one 2018-07-16 11:23:31
以下作業題,請各位幫忙指點,因剛學c++,請各位老師在程序盡量多些注釋說明。謝謝!正整數n是素數,如果它只能由1和本身整除。(1)寫一個名為ISPrime的C++函數,它取正整數參數,如果參數為Prime,則返回true,否則返回false。假設參數大于1(2)寫一個C++函數,名為SUFFPrimes,取正整數參數n,并返回第一N素數的和。例如,SUFFPrimes(6)必須返回41,這是前6個素數的總和:2+3+5+7+11+13=41。您必須使用在部分(1)中定義的ISPrime函數來定義函數SUFFPROMES。原題:A positive integer number n is prime if it is divisible by ONLY 1 anditself.a. Write a C++ function named isPrime that takes a positiveinteger argument and returns true if the argument is prime and returnsfalse otherwis。 Assume the argument is greater than 1.        b.Write a C++ function named sumOfPrimes that takes a positive integerargument n and returns the sum of the first n prime numbers. For example,sumOfPrimes(6) must return 41 , which is the sum of the first 6 prime numbers:2+3+5+7+11+13 = 41. You must use the isPrime function you defined in part (a) to define the function sumOfPrimes.
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

第一題

 #include <stdio.h>
#include <iostream>
using namespace std;


bool ISPrime(const int & num)
{
  if(num <=1)
  {
    return false;
  }

  int i = 2;

//素數就是指 因子只有自己和1
  //i 從二開始
  //用num除以i,若是可以除盡,且i小于num 就說明num 存在別的因子
  //所以num就不是素數

  for(i = 2; i < num; ++i)
  {
    if(num % i == 0)
    {
      break;
      //若可以除盡,就跳出循環
    }
  }
  if(i == num)
  {
    return true;
    //如果出循環且i值已經等于num 
    //說明是素數
  }
  return false;
  //否則不是素數
}


int main()
{

  int n = 19;
  bool ret = ISPrime(n);
  if(ret)
  {
    printf("Is Prime\n");
  }
  else
  {
    printf("Not Prime\n");
  }
  return 0;
}

第二題

 #include <stdio.h>
#include <iostream>
using namespace std;


int SUFFPrime(const int & n)
{

  int sum = 0;
  if(n <= 0)
  {
    return sum;
  }

  int i = 2;
  int count = 0;
  int num = 2;

//素數就是指 因子只有自己和1
  //i 從二開始
  //用num除以i,若是可以除盡,且i小于num 就說明num 存在別的因子
  //所以num就不是素數


  //外層循環用來控制個數,個數應該小于 n
  //內層循環用來判斷當前數字是不是素數

  while(count < n)
  {
    for(i = 2;i < num ; ++i)
    {
      if(num % i == 0)
      {
        break;
        //若可以除盡,就跳出循環
      }
    }
    if(i == num)
    {
      //如果出循環且i值已經等于num 
      //說明是素數
      count++;
      sum += num;
    }
    //否則不是素數
    //就看下一個數是不是素數
    num++;
  }
  return sum;
}


int main()
{

  int n = 7;
  int sum = SUFFPrime(n);
  printf("sum: %d\n",sum);
  return 0;
}


查看完整回答
反對 回復 2018-07-27
  • 1 回答
  • 0 關注
  • 768 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號