輸出素數c語言
Ⅰ 用c語言寫一個判素數的函數,在主函數輸入一個整數,輸出是否素數的信息。
輸出是否素數的信息的源代碼如下:
#include <stdio.h>
#include <stdbool.h>
bool prime(int x){
if (2 > x ) {
returnfalse;
}
for (int i = 2; i < x ; i++) {
if (0 == x % i ) {
return false;
}
}
returntrue;
}
int main(){
for (int i = 2; i < 100; i++) {
if (prime(i)) {
printf("%d ",i);
}
}
printf(" ");
return 0;
}
(1)輸出素數c語言擴展閱讀
1、函數的使用可以身故重復代碼的編寫。
2、函數使得程序更加模塊化,有利於程序的閱讀修改和完善。
3、素數就是沒有因子的數,只能被1和本身整除,所以我們就可以用循環解決,循環用於從2到他的根式判定是否有其他數可以整除它,有就跳出循環。
Ⅱ c語言編寫程序,輸出1000內的所有素數, 每行顯示10個數
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*****************************************************************
*本程序用來計算1000內質數有哪些及一共有哪些。
*
*知識點:什麼是質數?及只能被本身和1整除的整數。
*
*時間:2018.10.22
*****************************************************************/
int main(void)
{
int i,j,result = 0,sum = 0; //i-循環變數和被判斷數 j-循環變數和判斷數 result-驗證是否為質數的返回值 sum-質數總量計數
for (i = 2;i <= 1000;i++) //第一個循環用來取出被判斷數 從2開始到1000
{
for (j = 2; j <= sqrt(i) + 1;j++) //第二個循環是用來判斷這個數是否為質數並返回,從2開始至被判斷數開根後+1. sqrt(i)後面不+1 會把質數2 3丟掉
{
if (i%j == 0 && i != j) //如果被判斷數用2-被判斷數來取余,如果余數為0 且不是被自已整除那麼這個數一定不是質量直接返回
{
result = 0; //判斷出是質數後返回前必須給返回值賦0值,0代表非質數 1代表質數
break;
}
result = 1;
}
if (result == 1) //如果此數為質數 質數總量+1後並列印 把result返回值初始化准備下一個循環判斷。
{
sum++;
printf("第%d個質數:%d \n",sum,i);
result = 0;
}
}
return 0;
}
Ⅲ C語言 輸出1到100之間的全部素數
有三種方法:
1、輸出1-100以內的素數:
(3)輸出素數c語言擴展閱讀:
在這個小程序中主要用到的是for循環
for 循環語句的一般形式為:
for (表達式1; 表達式2; 表達式3)
{
語句;
}
需要注意的兩點:
1) 表達式1、表達式2和表達式3之間是用分號;隔開的,千萬不要寫成逗號。
2)for(表達式1;表達式2;表達式3)的後面千萬局告不要加分號,很多新手都會犯這種錯誤——會情不自禁地在後面加分號。
因為 for 循環只能控制到其後的一條語句,而在C語言中分號也是一個語句——空語句。所以如果在後面加個分號,那麼 for 循環就只能控制到這個分號,下面大括弧裡面的語句就不屬於 for 循環了。
Ⅳ c語言 調用函數,輸出100到200之間的所有素數
素數是只有1和自身才能整除的數。調用自定義的函數prime,對100~200間的奇數進行判斷,是素數則輸出。舉例代碼如下:
#include"stdio.h"
intprime(intn){//判斷100~200間的數是否為素數
inti;
if(!(n&1))
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(intargc,char*argv[]){
intn;
for(n=101;n<200;n+=2)
if(prime(n))//調用prime判斷n是否為素數
printf("%4d",n);//是則輸出n
printf(" ");
return0;
}
Ⅳ 用c語言:輸出在1~100內的所有素數
#include<stdio.h>
#include<math.h>
intmain()
{
intn;
inti;
intflag=0;
for(n=2;n<=100;n++)
{
flag=0;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
flag=1;
break;
}
}
if(flag==0)
printf("%d",n);
}
return0;
}
(5)輸出素數c語言擴展閱讀
C語言判斷素數
#include<stdio.h>
intmain()
{
inti,j;
intm,n,p;
for(i=11;i<1000;i++)
{
if(i>=11&&i<=99)
{
m=i%10;
n=i/10;
}
else
{
m=i/100;
n=i%10;
}
if(m==n)
{
for(j=2;j<i/2;j++)
if(i%j==0)
break;
if(j>=i/2)
{
printf("%d",i);
}
}
}
return0;
}
Ⅵ C語言求素數
/*求素數的三種方法
一:for(i=2;i<=(n-1);i++)
if(n%i==0)i在2到n-1之間任取一個數,如果n能被整除則不是素數,否則就是素數
二:for(i=2;i<n/2;i++)
if(n%i==0) /*i在2到n/2之間任取一個數,如果n能被整除則不是素數,否則就是素數
三:for(i=2;i<(n=sqrt(n));i++)
if(n%i==0) /*i在2到sqrt(n)之間任取一個數,如果n能被整除則不是素數,否則就是素數,在下省了下面的輸出步驟*/
/*在本程序中使用第三種方法來求解*/
#include <stdio.h>
#include <math.h>
int main(void)
{
int i; /*外循環*/
int j; /*內循環*/
int flag; /*素數標志,flag為1則此數為素數*/
flag = 0;
//int n;
i = 2;
while( i <= 100)
{
j = 2;
flag = 1; /*假設此數為素數*/
while(j <= (int) sqrt(float(i)))
{
if(0 == (i %j))
flag = 0; /*根據第三種演算法可知次數不為素數*/
j ++;
}
if(flag)
printf("%d\t",i);
i++;
}
printf("\n");
return 0;
}
Ⅶ 編寫一個程序,輸出1~1000之內所有的素數(注意:素數即質數)及個數(C語言)
源代碼如下:
#include <stdio.h>
#include <math.h>
void main()
{
int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{
w=1;
k=sqrt(i);
for (j=2; j<=k; j++)
if (i%j==0) {w=0;break;}
if (w) {
++n;
if (n%10==0) printf("%d ",i);
else printf("%d ",i);
}
(7)輸出素數c語言擴展閱讀
1、素數使用for循環查找2-1000以內的所有素數,循環次數為999次,在for循環中添加一個移位寄存器用以存儲所有的素數,其初始值為一個空數組。
2、在循環內部逐個數判斷是否為素數,若是素數,則使用"數組插入.vi"函數添加到移位寄存器的數組中,否則,移位寄存器中的值保留為上次的值。