本文目錄一覽:
- 1、編輯程序實現,將1~100存放在數組中,並求100之內的素數並輸出,C語言?
- 2、c語言程序中怎樣輸出1到100的素數
- 3、用C語言編寫在自然數中輸出100以內的素數?
- 4、c語言輸出1-100素數
- 5、用c語言編寫程序輸出1-100內的素數
- 6、用c語言:輸出在1~100內的所有素數
編輯程序實現,將1~100存放在數組中,並求100之內的素數並輸出,C語言?
#include stdio.h
int main()
{
int i,j,a[100];
for(i=0;i100;i++)
a[i]=i+1;
for(i=1;i100;i++)
{
for(j=2;ja[i];j++)
if(a[i]%j==0) break;
if(j=a[i]) printf(“%d “,a[i]);
}
return 0;
}
c語言程序中怎樣輸出1到100的素數
主要考察素數的概念和判斷方法。
素數:指在一個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數。
素數判斷:將該數N用小於等於根號N的所有素數去試除,若均無法整除,N則為素數。
參考代碼:
#includestdio.h
#includemath.h
int main()
{
int a,b,c;
printf(“2\n”);//2是素數,不能利用上面的規則求出需要另外輸出。
for(a=2;a=100;a++)
{
c = (int)sqrt(a);//計算平方數,取整
for(b=2;b=c;b++)//依次判斷
if(a%b==0) break;
if(bc) printf(“%d\n”,a);//輸出素數
}
return 0;
}
用C語言編寫在自然數中輸出100以內的素數?
#includestdio.h
//輸出100之內的所有素數
int main()
{
int i;
int j;
int flag = 1;
for(i = 2;i = 100;i++)
{
for(j = 2;j = i / 2;j++)
{
if(i % j ==0)
{
flag = 0;
break;
}
}
if(flag == 1)
{
printf(“%d\n”,i);
}
flag = 1;
}
return 0;
}
擴展資料
#include stdio.h
int main()
{
int a;
for (int i = 2; i 100; i++)
{
int a = 0;
/* code */
for (int j = 2; j i; j++)
{
/* code */
if (i % j == 0)
{
/* code */
a++;
}
}
if (a == 0)
{
/* code */
printf(“%d is sushu\n”, i);
}
else
{
/* code */
printf(“%d is not sushu\n”, i);
}
}
return 0;
}
c語言輸出1-100素數
不能只看程序,還得看數學定義, 素數是從2開始,1不必計算。
for (m=2;m=100;m++) {
if (m==2 || m==3) { //2比較特殊,是素數,如果用sqrt()來減少判斷次數的話,3放在這裡
printf(“%d\n”, m);
continue;
}
if (m%2==0) continue; //只要是偶數,都不是素數
k = sqrt(m);
for (i=2;i=k;i++) {
if (m%i==0) {
break;
}
}
if (i==(k+1)) //改為k+1
printf(“%d\n”, m);
}
這樣應該就對了。
用c語言編寫程序輸出1-100內的素數
用常規的判素性方法可如下實現
#include “stdio.h”
#include “math.h”
bool IsPrime(int x)
{
int i, s;
s = sqrt(x + 1);
for(i = 2; i = s; i++)
if(x % i == 0) return false;
return true;
}
void main( )
{
int i;
for(i = 2; i 100; i++)
if(IsPrime(i))
printf(“%d “, i);
}
也可採用篩選法,篩選法效率會高一些,樓上的雖然也是篩選法,但他的效率卻並不高。篩選法的思路是將那些非素數篩掉,留下那些素數。命題「對於1×100的合數x, 必含有小於10的質因子」可以證明是真命題,它的逆反命題「對於1×100的數,如果不含有小於10的質因子,則它必為素數。」則也是真命題。因此篩除時,只要篩除含有10以內的質因子的數就可以了。下面給出篩選法的代碼。
#include “stdio.h”
void main( )
{
bool isprime[100];
int i, j;
isprime[0] = false;
isprime[1] = false;
for(i = 2; i 100; i++) /*先初始化2~100的都是素數,然後將非素數篩除掉*/
isprime[i] = true;
for(i = 2; i 10; i++) /*將所有含有小於10的質因子的數篩除掉*/
{
if(isprime[i]) /*如果i是素數,則將它的倍數全部篩掉*/
for(j = i * i; j 100; j += i) /*從i*i開始檢測是因為小於i*i的合數都被小於i的素數篩除了*/
isprime[j] = false;
}
for(i = 2; i 100; i++)
if(isprime[i])
printf(“%d “, i);
}
用c語言:輸出在1~100內的所有素數
#includestdio.h
#includemath.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;
}
擴展資料
C語言判斷素數
#includestdio.h
intmain()
{
inti,j;
intm,n,p;
for(i=11;i1000;i++)
{
if(i=11i=99)
{
m=i%10;
n=i/10;
}
else
{
m=i/100;
n=i%10;
}
if(m==n)
{
for(j=2;ji/2;j++)
if(i%j==0)
break;
if(j=i/2)
{
printf(“%d”,i);
}
}
}
return0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/154655.html