『壹』 c語言中,何為素數何為非素數用C語言如何表示
C語言中的素數和數學中的素數是一樣的,即:除了1和它本身之外,不能被任何數整除的數(1不是素數)。也就是說素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。
非素數的定義就很明了了,素數以外的數都是非素數,在C語言中,求素數的方法,就是從2開始,依次判斷該數是否可以被2以上到該數以下的數整除,如果可以,就不是素數,如果不可以被所有大於或等於2小於該數的整數整除,那麼就是素數了
『貳』 c語言中如何判斷一個數是否是質數
#include "stdio.h"
void main()
{
int a;
int i;
int flag=0; //用於標注能被整除的次數
printf("請輸入一個整數:");
scanf("%d",&a); //要輸入的整數
for (i=1;i<=a;i++) {
flag=1;
//如果 a 能被 i 整除,那麼flag自加1
if (a%i==0) {
flag++;
}
}
//如果一個整數是質數,那麼只有被1和它本身整除,所以只有2,如果超過2,那麼肯定不是質數
if (flag==2) {
printf("你輸入整數為質數。");
} else {
printf("你輸入整數不為質數。");
}
}
『叄』 如何用c語言判斷一個數是不是素數
判斷一個整數m是否是素數,只需把m被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那麼m就是一個素數。思路1)的代碼:
#include <stdio.h>
int main(){
int a=0; // 素數的個數
int num=0; // 輸入的整數
printf("輸入一個整數:");
scanf("%d",&num);
for(int i=2;i<num;i++){if(num%i==0){a++; // 素數個數加1}}
if(a==0){printf("%d是素數。 ", num);}else{printf("%d不是素數。 ", num);}return 0;}
『肆』 怎麼用c語言判斷一個數是不是素數
方法一:
#include<stdio.h>
int main(){
int i,j;
printf("請輸入一個正整數。\n");
scanf("%d",&i);
if(i<2)
printf("小於2,請重新輸入。\n");
elseif(i%2==0)
printf("%d不是一個素數。\n",i);
else{
for(j=2;j<=i/2;j++){
if(i%j==0){
printf("%d不是一個素數。\n",i);
break;
}
if(j>i/2){
printf("%d是一個素數。\n",i);
break;
}
}
}
}
方法二:
#include<stdio.h>
int main(){
int a=0;
int num=0;
scanf("%d",&num);
for(inti=2;i<num-1;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("YES\n");
}else{
printf("NO\n");
}
}
方法三:
#include"stdio.h"
int main(){
printf("\t\t\t\t\thelloworld\n");
int a,i;
do{
printf("inputnumberjudgeprimenumber:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
if(a%i==0)break;
if(i==a)
printf("%d是素數\n",a);
else
printf("%d不是素數\n",a);
}while(a!=0);
}
『伍』 c語言編程:設計一個函數用於判斷一個數是否為素數,如果是素數返回1,否則返回0。
源程序代碼以及演算法解釋如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int Func(int m)//判斷函數
{
int n = 2;
while (n <= m && (m%n))//判斷是否能被其他數整除
n++;
if (m == n)
return 1;
else
return 0;
}
int main()
{
int M_num;//定義變數
printf("請輸入需要判斷的數:
");//文字提示
scanf("%i", &M_num);//循環輸入數組元素
int i = Func(M_num);//判斷是否是素數
if (i == 1)//輸出結果
printf("輸入的數是素數");
if (i == 0)
printf("輸入的數不是素數");
printf("
");
return 0;
}
程序運行結果如下:
(5)c語言表示1不是素數擴展閱讀:
輸出1-100之間的所有素數程序如下:
#include<stdio.h>
int PrimeNumer(int x) //定義一個函數判斷
{
assert(x > 0); //判斷
int i; //被除數
for (i = 2; i < x; i++)
{
if (x%i == 0)
{
return 0; //表示正常終止
}
}
return 1; //只是給主調函數一個標志,說明他的執行過程中遇到異常情況。 然後就返回主調函數來處理,繼續執行。
}
int main()
{
int i,a;
int count = 0;
for (i = 2; i < 101; i++)
{
if (PrimeNumer(i)) //調用函數來判斷
{
count++; //加入了一個計數器
printf("%d
", i);
}
}
printf("素數出現的次數%d", count);
system("pause");
return 0;
}
『陸』 c語言判斷是不是素數的程序
1、首先打開CodeBlocks,創建一個新項目。
『柒』 c語言如何判斷素數
素數又稱質數,所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2~16 的任一整數整除。判斷一個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那麼 m 就是一個素數。
首先要知道素數是不等於1,它的因子只有1和它本身。判斷一個數是否為素數,可以用大於1小於給定數的所有數去除給定數,如果有任何一個能夠除盡,就表示是合數,反之是素數。
(7)c語言表示1不是素數擴展閱讀:
首先,本文英文字母都表示整數,上半部B 》3N 》W,下半部B 》W 》3N。大於3的素數只有6N-1和6N+1兩種形式,我們只需判定這兩種數是素數還是合數即可。
命題 1 對於B=36N+1 形數而言。
若不定方程(3N)^2+N-(B-1)/36=W^2 有整數解,
則 6(3N-W)+1 是小因子數;6(3N+W)+1 是大因子數。
若不定方程 (3N)^2-N-(B-1)/36=W^2 有整數解,
則 6(3N-W)-1 是小因子數;6(3N+W)-1 是大因子數。
兩式都無解,是素數。
『捌』 用c語言寫:輸入一個整數,利用函數調用方式編程,判斷該數是否為素數。(素數的條件:只能被1和自身整除
#include<stdio.h>
int main(void)
{
unsignedlongnum;
unsignedlongdiv;
intisPrime;//素數的標志,1代表是素數,0代表不是素數
printf(".");
printf("Enterqtoquit.\n");
while(scanf("%lu",&num)==1&&num!=1)
{
for(div=2,isPrime=1;(div*div)<=num;div++){
if(num%div==0){//如果能被div整除
if((div*div)!=num){//約數不相等
printf("%luisdivisibleby%luand%lu.\n",num,div,num/div);
}else{//約數相同
printf("%luisdivisibleby%lu.\n",num,div);
}
//將isPrime設置為0,表示其不是一個素數
isPrime=0;
}
}
if(isPrime==1){
printf("%lu是素數.\n",num);
}
printf(".");
printf("Enterqtoquit.\n");
}
printf("Bye.\n");
return0;
}
運行效果:
(8)c語言表示1不是素數擴展閱讀:
printf()函數用法:
在C語言中,有三個函數可以用來在顯示器上輸出數據,它們分別是:
1、puts():只能輸出字元串,並且輸出結束後會自動換行。
2、putchar():只能輸出單個字元。
3、printf():可以輸出各種類型的數據。
printf() 是最靈活、最復雜、最常用的輸出函數,完全可以替代 puts() 和 putchar(),
舉例:
#include<stdio.h>
int main()
{
printf("這是我的博客: ");
printf("www.yuanshi***.top ");
return 0;
}
printf() 格式控制符的完整形式如下:
%[flag][width][.precision]type
[ ] 表示此處的內容可有可無,是可以省略的。
1) type 表示輸出類型,比如 %d、%f、%c、%lf,type 就分別對應 d、f、c、lf;
type 這一項必須有,這意味著輸出時必須要知道是什麼類型。
2) width 表示最小輸出寬度,也就是至少佔用幾個字元的位置;
首先匯總一下用到的格式控制符:
%c輸出一個單一的字元
%hd、%d、%ld以十進制、有符號的形式輸出 short、int、long 類型的整數
%hu、%u、%lu以十進制、無符號的形式輸出 short、int、long 類型的整數
%ho、%o、%lo以八進制、不帶前綴、無符號的形式輸出 short、int、long 類型的整數
%hx、%x、%lx%hX、%X、%lX以十六進制、不帶前綴、無符號的形式輸出 short、int、long 類型的整數。如果 x 小寫,那麼輸出的十六進制數字也小寫;如果 X 大寫,那麼輸出的十六進制數字也大寫。
%f、%lf以十進制的形式輸出 float、double 類型的小數;%e、%le%E、%lE以指數的形式輸出 float、double 類型的小數。如果 e 小寫,那麼輸出結果中的 e 也小寫;如果 E 大寫,那麼輸出結果中的 E 也大寫。
%g、%lg%G、%lG以十進制和指數中較短的形式輸出 float、double 類型的小數,並且小數部分的最後不會添加多餘的 0。如果 g 小寫,那麼當以指數形式輸出時 e 也小寫;如果 G 大寫,那麼當以指數形式輸出時 E 也大寫。
%s輸出一個字元串。
『玖』 如何用c語言編程判斷一個數是不是素數
方法一:
#include<stdio.h>
int main(){
int i,j;
printf("請輸入一個正整數。\n");
scanf("%d",&i);
if(i<2)
printf("小於2,請重新輸入。\n");
elseif(i%2==0)
printf("%d不是一個素數。\n",i);
else{
for(j=2;j<=i/2;j++){
if(i%j==0){
printf("%d不是一個素數。\n",i);
break;
}
if(j>i/2){
printf("%d是一個素數。\n",i);
break;
}
}
}
}
方法二:
#include<stdio.h>
int main(){
int a=0;
int num=0;
scanf("%d",&num);
for(inti=2;i<num-1;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("YES\n");
}else{
printf("NO\n");
}
}
方法三:
#include"stdio.h"
int main(){
printf("\t\t\t\t\thelloworld\n");
int a,i;
do{
printf("inputnumberjudgeprimenumber:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
if(a%i==0)break;
if(i==a)
printf("%d是素數\n",a);
else
printf("%d不是素數\n",a);
}while(a!=0);
}
『拾』 求C語言編程,判斷一個數是不是素數
判斷一個數是否是素數
#include "math.h"
int su(long x)
{
int i;
if(x%2==0) return 0;
else
for(i=3;i<sqrt(x);i+=2)
if(x%i==0) return 0;
return 1;
}
判斷素數,若是就返回1,否則就返回0,先看能不能被2整出,若整除肯定不是素數,如不整除就看它能不能被3,5,7,9。。。一直到sprt(x),整除。若整除就不是素數