c語(yǔ)言求素?cái)?shù)的代碼 判斷一個(gè)數(shù)是否為素?cái)?shù)的c編程?
判斷一個(gè)數(shù)是否為素?cái)?shù)的c編程?1. 首先,判斷什么是素?cái)?shù)。素?cái)?shù)是一個(gè)只能被除1和它本身以外的任何整數(shù)除的數(shù)。所以在C編程中,我們只需要確保一個(gè)整數(shù)不能被1和它本身之間的整數(shù)除,那么它就是一個(gè)素?cái)?shù)。在編
判斷一個(gè)數(shù)是否為素?cái)?shù)的c編程?
1. 首先,判斷什么是素?cái)?shù)。素?cái)?shù)是一個(gè)只能被除1和它本身以外的任何整數(shù)除的數(shù)。所以在C編程中,我們只需要確保一個(gè)整數(shù)不能被1和它本身之間的整數(shù)除,那么它就是一個(gè)素?cái)?shù)。在編程過(guò)程中應(yīng)注意的事項(xiàng)等,打開vc6.0,建立項(xiàng)目。
2. 接下來(lái),我們可以編程,如圖所示:
3。點(diǎn)擊compile鏈接查看運(yùn)行結(jié)果,如圖所示,輸入17,程序判斷17為素?cái)?shù)。
4. 這里有個(gè)問(wèn)題。我相信這對(duì)很多初學(xué)者來(lái)說(shuō)也是個(gè)難題。也就是說(shuō),如何運(yùn)行一次。一旦結(jié)果出現(xiàn),它就不能再運(yùn)行了。實(shí)際上,這是一個(gè)流通問(wèn)題。我們可以再增加一個(gè)循環(huán)。程序如圖所示:
判斷一個(gè)數(shù)是否是素?cái)?shù)的程序講解?
素?cái)?shù)也叫素?cái)?shù)。所謂素?cái)?shù),是指除1和素?cái)?shù)本身外,不能被任何整數(shù)除的數(shù)。
該代碼的基本思想是:如果M不能被其平方根中的任何數(shù)字除,則M必須是素?cái)?shù)。
代碼解析如下:
main()
{
int m//輸入的整數(shù)
int i//循環(huán)數(shù)
int k//m的平方根
scanf(%D,& m)//輸入m
k=sqrt(m)//將k賦給m的根
for(I=2I<=Ki)//從2到k加1個(gè)循環(huán)
如果(m%I==0)中斷//當(dāng)m可以將I除以整數(shù)時(shí),退出而不進(jìn)行整數(shù)除法,表示素?cái)?shù)
如果(I>=k1)
printf(%d是數(shù)字n,m)時(shí)的素?cái)?shù))//I不小于k1,M是素?cái)?shù),否則,M不是素?cái)?shù)
else
printf(%d不是素?cái)?shù)n,M)]}
]擴(kuò)展數(shù)據(jù):
判斷素?cái)?shù)程序代碼的另一種方法:要判斷整數(shù)M是否是素?cái)?shù),只需按2到M-1之間的每一個(gè)整數(shù)取M即可。如果它不能被整除,那么M是素?cái)?shù)。
代碼和解析如下:
#include<stdio。H>
int main(){
int a=0//素?cái)?shù)
int num=0//輸入整數(shù)
printf(“input an integer:”)
scanf(%d”,&num)
for(int i=2I<numi){
if(num%i==0){
a//素?cái)?shù)加1
}]}
]if(a==0){
]printf(%d是質(zhì)數(shù)。n”,數(shù)字)