结果:2561327494111820313。
C语言位运算
有6种: &, | , ^(亦或), <<(左移), >>(右移)。
注意:参与位运算的元素必须是int型或者char型,以补码形式出现。
按位与&
&运算常应用于:迅速清零、保留指定位、判断奇偶性。
a & 1 = 1;则a为奇数
b & 1 = 0;则a为偶数
扩展资料
C语言运算符:数学运算符,关系运算符和逻辑运算符。
首先是数学运算符,其中包括最简单的加减乘除四则运算,其代表符号分别是+,-,*,/。在此基础上,我们可以进行自身加减运算,符号表示为++和--,例如a++,其运算意义相当于a=a+1,相似的a--等于a=a-1。
另外,在此需要注意的是++a这种表示方法,也是在自身基础上加一,但是a++是在整体式子运算完成之后再加一,而++a,是在自身加一后再进行运算。
例如,b=a++;和b=++a;是不同的,前者是先b=a;再a=a+1; ,后者是先a=a+1;再b=a;还可以对变量进行进行赋值运算,其中最简单的是=,即把=后面式子的值赋给前面的变量。除此之外,还有+=,-=,*=,/=。如b+=c,等价于b=b+c,b-=c,等价于b=b-c。以此类推。
参考资料来源:百度百科-C语言
C语言
mian()
{int i,j,s;
j=1;
s=0;
for(i=1;i<=20;i++)
{j=j*i;
s=s+j;
}
printf("1!+2!+……+20!= %d",s);
}
VB程序
在form1的click事件中写如下代码:
j=1
s=0
for i=1 to 20
j=j*i
s=s+j
next i
print "1!+2!+……20!=";s
代码优化了一下,能精确的加到22!。
#include
using namespace std;
main()
{
unsigned int c[3]={1,0,0},m=2,t[3]={1,0,0},temp;
for(;m<=20;++m)
{
t[0]*=m;
t[1]*=m;
t[2]*=m;
t[1]+=(t[0]/10000000);
t[0]%=10000000;
t[2]+=(t[1]/10000000);
t[1]%=10000000;
c[0]+=t[0];
if(c[0]>10000000)
{
++c[1];
c[0]%=10000000;
}
c[1]+=t[1];
if(c[1]>10000000)
{
++c[2];
c[1]%=10000000;
}
c[2]+=t[2];
}
cout<<"1!+2!+3!+......+20!="<
}
你是要用什么语言写呀
用VB帮你写吧 这个简单
DIM A AS INTEGER
DIM B AS INTEGER
FOR A = 1 TO 20
B=B+A
NEXT A
PRINT "1+2+3…+20=" & B
#include
void main()
{
double factorial(int);
double sum1;
int i;
sum1=double(0);
for(i=1;i<21;i++)
sum1=sum1+factorial(i);
cout<<"1!+2!+3!+......+20!="<
double factorial(int n)
{
if (1==n)
return 1;
else
return factorial(n-1)*n;
}