C語(yǔ)言如何使用函數(shù)求素?cái)?shù)和舉例
本題要求實(shí)現(xiàn)一個(gè)判斷素?cái)?shù)的簡(jiǎn)單函數(shù)、以及利用該函數(shù)計(jì)算給定區(qū)間內(nèi)素?cái)?shù)和的函數(shù)。素?cái)?shù)就是只能被1和自身整除的正整數(shù)。
注意:1不是素?cái)?shù),2是素?cái)?shù)。
函數(shù)接口定義:
int prime( int p ); int PrimeSum( int m, int n );
其中函數(shù)prime當(dāng)用戶傳入?yún)?shù)p為素?cái)?shù)時(shí)返回1,否則返回0;函數(shù)PrimeSum返回區(qū)間[m, n]內(nèi)所有素?cái)?shù)的和。題目保證用戶傳入的參數(shù)m≤n。
裁判測(cè)試程序樣例:
#include <stdio.h>
#include <math.h>
int prime( int p );
int PrimeSum( int m, int n );
int main()
{
int m, n, p;
scanf("%d %d", &m, &n);
printf("Sum of ( ");
for( p=m; p<=n; p++ ) {
if( prime(p) != 0 )
printf("%d ", p);
}
printf(") = %d\n", PrimeSum(m, n));
return 0;
}
/* 你的代碼將被嵌在這里 */
輸入樣例:
-1 10
輸出樣例:
Sum of ( 2 3 5 7 ) = 17
int prime( int p )
{
int ret=1;//先假設(shè)p是素?cái)?shù)
if(p>1)//因?yàn)樽钚〉乃財(cái)?shù)是2,所以小于2的整數(shù)統(tǒng)統(tǒng)不考慮
{
for(int i=2;i<p;i++)
{
if(p%i==0)//有數(shù)字可以將它整除,說明p不是素?cái)?shù),將ret變成0
{
ret=0;
break;
}
}
}else//小于2的數(shù)直接到這個(gè)else里,ret變成0,直接淘汰
{
ret=0;
}
return ret;
}
int PrimeSum( int m, int n )
{
int sum=0;
for(int i=m;i<=n;i++)
{
if(prime(i))//如果i是素?cái)?shù)的話prime(i)==1
{
sum+=i;
}
}
return sum;
}
道行不夠,這題想了好久,后面仔細(xì)想了一下素?cái)?shù)的性質(zhì)(正整數(shù),最小的素?cái)?shù)為2)才搞出來,數(shù)學(xué)渣嘆氣o(╥﹏╥)o,而且我發(fā)現(xiàn)這里的頭文件有昨天的#include <math.h>,是不是會(huì)有哪個(gè)函數(shù)能夠用來調(diào)用呢。。。
總結(jié)
到此這篇關(guān)于C語(yǔ)言如何使用函數(shù)求素?cái)?shù)和的文章就介紹到這了,更多相關(guān)C語(yǔ)言求素?cái)?shù)和內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++中4種強(qiáng)制類型轉(zhuǎn)換的區(qū)別詳析
這篇文章主要給大家介紹了關(guān)于C++中4種強(qiáng)制類型轉(zhuǎn)換區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
vs2022項(xiàng)目文件夾內(nèi).vs文件夾容量虛高問題的解決
經(jīng)常會(huì)發(fā)現(xiàn)VS的項(xiàng)目文件夾占用空間很大,本文主要介紹了vs2022項(xiàng)目文件夾內(nèi).vs文件夾容量虛高問題的解決,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
詳解如何在code block創(chuàng)建一個(gè)C語(yǔ)言的項(xiàng)目
這篇文章主要介紹了詳解如何在code block創(chuàng)建一個(gè)C語(yǔ)言的項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
基于QT制作一個(gè)TCPServer與TCPClient的通信
這篇文章主要為大家詳細(xì)介紹了如何基于QT制作一個(gè)TCPServer與TCPClient的通信,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
利用C語(yǔ)言實(shí)現(xiàn)http服務(wù)器(Linux)
本文將利用C語(yǔ)言實(shí)現(xiàn)一個(gè)輕量級(jí)的http服務(wù)器,使用Reactor模式,即主線程只負(fù)責(zé)監(jiān)聽文件描述符上是否有事件發(fā)生,有的話立即將該事件通知工作線程,感興趣的可以了解一下2022-07-07
Linux下控制(統(tǒng)計(jì))文件的生成的C代碼實(shí)現(xiàn)
這篇文章主要介紹了Linux下控制(統(tǒng)計(jì))文件的生成的C代碼實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2016-01-01

