1樓:匿名使用者
/* 算到0xffffffff的階乘沒
問題. 再大就要換資料專型別屬
了 */
#include
unsigned long calc ( unsigned long n )
int main ( void )
2樓:匿名使用者
先用for迴圈求階乘;
然後用取餘數的計算判斷一下最後一個數字是否為0,比版如97010%10,那麼就
權是餘數就是0,只要%10就行。餘數為0就把他輸出,不是0的不用管。也要一個迴圈來遍歷一下。
很簡單,自己寫好了。
另外任意整數是不現實的,必須定義一個最大值,要不計算機會溢位的,隨便給個最大值。比如99999,然後迴圈求從1到99999的連乘運算。最後迴圈用%10的方法,是0的就輸出,不是0的就罷了。
3樓:匿名使用者
int faczeros(int n)
return rzt;}
如何用c++程式設計階乘尾數零的個數,n!末尾有多少個零
4樓:匿名使用者
乘積末尾的0的個數依賴於因子中的2的個數和5的個數。對於階乘來說,每2個數字就至少有一個2的因子,所以2的因子是足夠的。5的因子相對少些,至少連續5個數才能保證一定出現一個。
注意,這裡連續5個書保證出現一個5的因子是指最少的情況。比如1,2,3,4,5,這就只會出現一個。但是考慮 21,22,23,24,25,25 = 5 * 5,所以如果乘以25那就能得到2個5的因子。
#include
using namespace std;
int main(void)
cout<< zerocnt< return 0; 5樓:匿名使用者 #include using namespace std; int main() cout<<"the number of zero is "< return 0; }統計1-n中所有數含有因子5的個數之和,因為只有2和5相乘才會得到一個0,而因子2出現的次數遠比5多,所以5的個數決定了0的個數 ps:樓上好像不對,如果125呢,有3個5,625呢。。。你好像都沒考慮 6樓:孟羽然 tian20090730 的思路很正確,完全同意!但他的**似乎有些問題。 看看我的**吧,這個應該是正解了。採納吧,嘿嘿。 #include using namespace std; int main() while (n > 0) // 跳到下一個5的倍數處理 n -= 5; }cout << factor5_count << endl; return 0;} 7樓:匿名使用者 為了解決這個問題,必須首先從數學上分析在n!結果值的末尾產生零的條件。不難看出: 一個整數若含有一個因子5,則必然會在求n!時產生一個零。因此問題轉化為求1到n這n個整數中包含了多少個因子5。 若整數n能被25整除,則n包含2個因子5;若整數n能被5整除,則n包含1 個因子5。 *程式說明與註釋 #include using namespace std; int main() cout<<"the number of 0 in the end of n! is:"< return 0;} c語言程式設計題(階乘+尾數幾個零) 8樓:匿名使用者 #include void main() i++; if(b%i==0) j++; }for(i=2;i<=n;i++) for(k=0;k<=j;k++) for(i=1;i if(yinzinum[i] min=yinzinum[i]; cout< 沒有要求讀出來放在 所以以顯示在螢幕上為例。設檔名為123.txt並在當前目錄下,程式設計如下 include stdafx.h if the vc 6.0,with this line.include stdio.h include stdlib.h int main void 0 printf ... 其它常用運算子 1 移位運算子 左移運 內算符 右移運算子。容 2 關係運算子 關係運算子。3 相等運算子 等於運算子 不等於運算子。4 位與運算子 按位與運算子 5 位異或運算子 按位異或運算子 bitwise exclusive or operator 6 邏輯與運算子 邏輯與運算子。擴充套件資... include usingnamespacestd intmain else while key 0 key 0是終止條件cout newnumberis 擴充套件資料 c 輸入一個整數值並輸出此整數的各數字反序的數值 include usingnamespacestd voidfunc int i...c語言中怎麼從檔案中把整數讀出來
c語言中或者是怎麼表示的,C語言中 或者 是怎麼表示的
C語言任意輸入有五位數字的正整數,逆序輸出每一數位上的數字如輸入12345輸出5