藍橋杯vip題目 階乘計算
輸入一個正整數n,輸出n!的值。
其中n!=1*2*3*…*n。
演算法描述
n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。
將a乘以一個整數k變為將陣列A的每一個元素都乘以k,請注意處理相應的進位。
首先將a設為1,然後乘2,乘3,當乘到n時,即得到了n!的值。
輸入格式
輸入包含一個正整數n,n<=1000。
輸出格式
輸出n!的準確值。
樣例輸入
10
樣例輸出
3628800
#include<stdio.h> #include<string.h> #define MAX 3000 int main() { int a[MAX],i,j,n; int c=0; //進位 int s; memset(a,0,sizeof(a)); scanf("%d",&n); a[0]=1; for(i=2;i<=n;i++) //乘數 { for(j=0;j<MAX;j++) { s=a[j]*i+c; a[j]=s%10; c=s/10; } } for(i=MAX-1;i>=0;i--) //從第一個不為零的開始 if(a[i]) break; for(j=i;j>=0;j--) { printf("%d",a[j]); } return 0; }
相關推薦
藍橋杯vip題目 階乘計算
問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。 將a乘以一
藍橋杯 基礎練習 階乘計算 java
問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。 將a乘以一個整數k變為
藍橋杯 基礎練習 階乘計算
問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。 將a乘以
藍橋杯基礎練習 階乘計算(簡單模擬)
基礎練習 階乘計算 時間限制:1.0s 記憶體限制:512.0MB 問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述
藍橋杯 演算法訓練 階乘末尾
問題描述 給定n和len,輸出n!末尾len位。 輸入格式 一行兩個正整數n和len。 輸出格式 一行一個字串,表示答案。長度不足用前置零補全。 樣例輸入 6 5 樣例輸出
藍橋杯BASIC- 30 基礎練習 階乘計算
問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。 將a乘以一個整數k變為將
藍橋杯 階乘計算
問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。 將a乘以一個整數k變為將
[Java] 藍橋杯BASIC-30 基礎練習 階乘計算
問題描述輸入一個正整數n,輸出n!的值。其中n!=1*2*3*…*n。演算法描述n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個
藍橋杯:階乘計算
題目: 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A
藍橋杯之階乘計算(大數問題)
計算機 amp 當前 高精度 get rip sizeof scrip code Description 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。
PAT基礎程式設計題目集——6-8 簡單階乘計算
原題目: 本題要求實現一個計算非負整數階乘的簡單函式。 函式介面定義: int Factorial( const int N ); 其中N是使用者傳入的引數,其值不超過12。如果N是非負整數,則該函式必須返回N的階乘,否則返回0。 裁判測試程式樣例: #include
PTA_基礎程式設計題目集_6-10 階乘計算升級版 (20 分)“大數階乘”
題目地址 題目分析: 1.預估1000!的位數~~進行放大估計~~1000^900&100^100即是3*900+2*100+o<3000位; 2.這裡顯然需要利用陣列來儲存數字並進行運算,讓陣列成員每個儲存3位數字(題目條件已告知引數小於1000),我們構
vip題庫之階乘計算(C++版)
問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數
十五:階乘計算
windows.h clas -- sca 算法 turn str scanf 可能 題目:階乘計算 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個
階乘計算(高精度)
OS 代碼 body 後乘 return () 需要 輸出格式 其中 問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[
第四屆藍橋杯比賽題目——風扇控制系統
black play 程序說明 sign 狀態機 stat mode led 可用 /* 程序說明: 第七屆省賽風扇控制系統 軟件環境: Keil uVision 4.10 硬件環境: CT107單片機綜合實訓平臺(內部晶振11.0592MHZ) STC15F2
PTA之簡單階乘計算
style factor 輸出 HR listitem 階乘 參數 長度限制 lang 本題要求實現一個計算非負整數階乘的簡單函數。 時間限制: 400ms 內存限制: 64MB 代碼長度限制: 16KB 函數接口定義: int Facto
Java 階乘計算
所謂的階乘就是 3! =3*2*1 示例程式: public class TestFile { public static void main(String[] args) { int number=4; float result=0f; for(int
藍橋杯VIP——黑色星期五
1.問題描述 2.演算法分析 典型的日期計算,其實就是列舉思想,首先我們確定從1998.1.1日週四開始列舉,然後判斷該年是否為閏年,再去判斷當星期數為8時我們需要將星期數重置為星期1開始,當每天的天數等於月末+1天時重置天數為下個月1號,當月份為13時跳出迴圈,年份
基礎練習 階乘計算
問題描述 輸入一個正整數n,輸出n!的值。 其中n!=1*2*3*…*n。 演算法描述 n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大