第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

關(guān)于階乘求和分析

? 今天老師出了一道題,要我們寫出1~
20階乘之和的代碼,s=1!+2!+3!+……+18!+19!+20!想了半天沒想到咋分析請教一下咩

正在回答

4 回答

時間倉促,我就沒寫注釋了,如果哪里不懂可以繼續(xù)問

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕哥3271118 提問者

謝謝你,我先睡覺了?再交流
2017-09-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

treehuang

我那個程序只要把int 改為long int ,把%d改為%ld就可以啦,遞歸的思想
2017-09-21 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Wingrez 回復(fù) treehuang

你好。應(yīng)該使用64位及以上的整數(shù)類型,你的程序才能得出正確結(jié)果。在我的環(huán)境下,即使換成long int也是不對的,可以使用long long int。
2017-09-22 回復(fù) 有任何疑惑可以回復(fù)我~
#4

treehuang 回復(fù) Wingrez

是啊,的確要64位,我的這個程序不夠強(qiáng)壯哈哈哈
2017-09-22 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)
#include<stdio.h>
#define?MAXN?100
int?ans[MAXN],num[MAXN];
int?cnt_ans,cnt_num;

void?add()
{
	int?i;
	int?jinwei=0;
	for(i=0;i<cnt_num;i++)
	{
		int?temp=ans[i]+num[i]+jinwei;
		ans[i]=temp%10;
		jinwei=temp/10;
	}
	cnt_ans=cnt_num;
	if(jinwei>0)
	{
		ans[i]=jinwei;
		cnt_ans++;
	}
}

void??factorial(int?n)
{
	int?i;
	int?jinwei=0;
	for(i=0;i<cnt_num;i++)
	{
		int?temp=num[i]*n+jinwei;
		num[i]=temp%10;
		jinwei=temp/10;
	}
	if(jinwei>0)
	{
		num[i]=jinwei;
		cnt_num++;
	}
}

void?print()
{
	int?i;
	for(i=cnt_ans-1;i>=0;i--)
	{
		printf("%d",ans[i]);
	}
	printf("\n");
}

int?main()
{
	int?i;
	ans[0]=num[0]=1;
	cnt_ans=cnt_num=1;
	for(i=2;i<=20;i++)
	{
		factorial(i);
		add();
	}
	print();
}


0 回復(fù) 有任何疑惑可以回復(fù)我~

#include <stdio.h>


int fun(int i)

{

if(i == 1)

return 1;


return i * fun(i-1);

}


int main(void)

{

int i, sum = 0;


for(i=1; i<=20; i++)

{

sum = sum + fun(i);

}


printf("%d\n", sum);


return 0;

}


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕哥3271118 提問者

謝謝噠
2017-09-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕哥3271118 提問者

謝謝噠
2017-09-19 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Wingrez 回復(fù) 慕哥3271118 提問者

他這個是不對的
2017-09-19 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕哥3271118 提問者 回復(fù) Wingrez

我用C4droid運(yùn)行了一下結(jié)果是268040729,但是我還是不曉得怎么分析過程
2017-09-19 回復(fù) 有任何疑惑可以回復(fù)我~
#5

treehuang 回復(fù) 慕哥3271118 提問者

對不起,程序的返回類型寫錯了,我現(xiàn)在更正一下 #include <stdio.h> long int fun(int i) { if(i == 1) return 1; return i * fun(i-1); } int main(void) { int i; long int sum = 0; for(i=1; i<=20; i++) { sum = sum + fun(i); } printf("%ld\n", sum); return 0; }
2017-09-21 回復(fù) 有任何疑惑可以回復(fù)我~
#6

treehuang 回復(fù) Wingrez

#include <stdio.h> long int fun(int i) { if(i == 1) return 1; return i * fun(i-1); } int main(void) { int i; long int sum = 0; for(i=1; i<=20; i++) { sum = sum + fun(i); } printf("%ld\n", sum); return 0; }
2017-09-21 回復(fù) 有任何疑惑可以回復(fù)我~
查看3條回復(fù)

因?yàn)橐嬎愕?0的階乘,結(jié)果值將非常大。所以可以用數(shù)組來保存數(shù)值的每一位。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕哥3271118 提問者

可是不曉得咋分析變量特點(diǎn)
2017-09-19 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

關(guān)于階乘求和分析

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號