本文目錄一覽:
C語言指針問題170
t10
是按位與運算
就是把兩個數用2進制表示出來,然後每一個2進制位進行邏輯比較,同是1才為1,否則為0
例如:
56
101110
101
110
—-
100
結果是4
c語言編程:計算170的階乘
前幾天正好做過一個,用數組記錄結果,暴力算法模擬手工計算過程,談不上效率
#include stdio.h
#define N 10000
int main()
{
int a[N]={1};
char d[4]={0};
int i,j,t,e,f=1,m=0;
int l=0;
int k=0;
int n;
char ch=’N’;
printf(“n=”);
scanf(“%d”,n);
for(i=1;i=n;i++)
{
for(j=0;j=l;j++)
{
a[j]=a[j]*i+k;
k=a[j]/10000;
a[j]=a[j]%10000;
}
if(k)
{
l++;
a[j]=k;
k=0;
}
}
t=a[l];
while(t)
{
d[m]=t%10;
t/=10;
m++;
}
e=4*l+m-1;
if(e30)
{
printf(“%d!=%d.”,n,d[m-1]);
for(i=m-2;i=0;i–)
{
printf(“%d”,d[i]);
}
for(i=0;i8;i++)
{
printf(“%04d”,a[l-1-i]);
}
printf(“E+%d\n”,e);
printf(“輸出精確值?(Y/N)”);
getchar();
ch=getchar();
if(ch!=’y’ch!=’Y’)
f=0;
}
if(f)
{
i=l;
printf(“%d!=%d”,n,a[i–]);
for(;i=0;i–)
{
printf(“%04d”,a[i]);
}
}
printf(“\n”);
return 0;
}
n=170
170!=7.2574156153079989673967282111292631E+306
輸出精確值?(Y/N)y
170!=7257415615307998967396728211129263114716991681296451376543577798900561843401706157852350749242617459511490991237838520776666022565442753025328900773207510902400430280058295603966612599658257104398558294257568966313439612262571094946806711205568880457193340212661452800000000000000000000000000000000000000000
請按任意鍵繼續. . .
如何用c語言編程打印2-170之間的所有素數,要求每行輸出13個素數。
#include stdio.h
#include math.h
int ss(int n) /*檢查n是否為素數,如果是則返回1,否則返回0*/
{
int i;
for (i=2; i=(int)sqrt((double)n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
int i,j=0;
for (i=2; i=170; i++)
if(ss(i))
{
j++;
printf(“%5d”,i);
if (j%13==0) printf(“\n”);
}
printf(“\ntotal prime=%d\n”,j);
return 0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/277079.html