HDU 1042 N!(高精度計算階乘)

?

?

????????? N!

Time Limit: 10000/5000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 34687????Accepted Submission(s): 9711


Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!

?

Input
One N in one line, process to the end of file.

?

Output
For each N, output N! in one line.

?

Sample Input
1
2
3

?

Sample Output
1
2
6

?

Author
JGShining(極光炫影)
高精度問題:大整數乘法的應用

其核心思想就是把計算結果每一位上的數字保存到一個數組成員中,例如:
把124保存至數組中,保存結果應該是result[0] =4;result[1] =2;result[2] =1
把整個數組看成一個數字,這個數字和一個數相乘的時候,需要每一位都和這個乘數進行相乘運算還需要把前一位的進位加上。

寫法如下:int 結果 = result[x] * 乘數 + 進位;
每一位的計算結果有了,把這個結果的個位數拿出來放到這個數組元素上:result[x] = 結果%10;
接下來的工作就是計算出進位:進位 = 結果 / 10;
這樣一位一位的把整個數組計算一遍,最后可能還有進位,用同樣的方法,把進位的數值拆成單個數字,放到相應的數組元素中。最后從后往前輸出結果。

?

?

#include<iostream>
#define MAX 100000
using namespace std;
int main()
{int n,a[MAX];int i,j,k,count,temp;while(cin>>n){a[0]=1;count=1;for(i=1;i<=n;i++){k=0;for(j=0;j<count;j++){temp=a[j]*i+k;a[j]=temp%10;k=temp/10;    }while(k)//記錄進位    
             {a[count++]=k%10;k/=10;}}for(j=MAX-1;j>=0;j--)      if(a[j])break;//忽略前導0for(i=count-1;i>=0;i--)cout<<a[i];cout<<endl;}return 0;
}

?

?

轉載于:https://www.cnblogs.com/Su-Blog/archive/2012/08/27/2659172.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260480.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260480.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260480.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用WebDriver遇到的那些坑

http://blog.csdn.net/oWuFeng1/article/category/2722111 在做web項目的自動化端到端測試時主要使用的是Selenium WebDriver來驅動瀏覽器。Selenium WebDriver的優點是支持的語言多&#xff0c;支持的瀏覽器多。主流的瀏覽器Chrome、Firefox、IE等都支持&#xff0c;手機上的瀏…

python的閉包要素_Python的閉包

我的理解&#xff0c;Python中的閉包和其他語言中的閉包一樣&#xff0c;都是在一個函數中返回另一個函數。def out_fun(num): print(------1-----) def in_fun(in_num): print(---------2--------) print(in_num%d % in_num) return num in_num print(-------3--------) retu…

Pytorch 自定義激活函數前向與反向傳播 Tanh

看完這篇&#xff0c;你基本上可以自定義前向與反向傳播&#xff0c;可以自己定義自己的算子 文章目錄Tanh公式求導過程優點&#xff1a;缺點&#xff1a;自定義Tanh與Torch定義的比較可視化import matplotlib import matplotlib.pyplot as plt import numpy as np import torc…

multi mysql_mysqld_multi 的使用方法

mysqld_multi 的使用方法:官方文檔&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/mysqld-multi.html 【文檔有些問題&#xff0c;按照它的這個配置&#xff0c;mysqld_multi無法關閉實例】mysqld_multi無法關閉實例的解決方法&#xff1a;https://bugs.mysql.com/bug…

vsftp 無法啟動,500 OOPS: bad bool value in config file for: anonymous_enable

朋友的FTP啟動不了&#xff0c;叫我幫他看&#xff0c;啟動時出現以下錯誤信息&#xff1a; 500 OOPS: bad bool value in config file for: anonymous_enable 看似配置文件錯誤&#xff0c;看了一下配置相應的行&#xff1a; anonymous_enableNO 語句沒什么錯誤&#xff0c;不…

HDU ACM 1181 變形課 (廣搜BFS + 動態數組vector)-------第一次使用動態數組vector

http://acm.hdu.edu.cn/showproblem.php?pid1181 題意&#xff1a;給我若干個單詞,若單詞A的結尾與單詞B的開頭相同,則表示A能變成B,判斷能不能從b開頭變成m結尾. 如: big-got-them 第一次使用動態數組vector View Code 1 #include <iostream>2 #include <vector>…

Max Sum 杭電 1003

2019獨角獸企業重金招聘Python工程師標準>>> #題目概述 題目的意思是給你一個數列&#xff0c;找到一個子數列&#xff0c;這個子數列的和是所有子數列中和最大的。 當然把數列的所有數都列出來肯定不現實。 黑黑&#xff0c;不知道正不正確&#xff0c;我是先從第一…

shiro反序列化工具_Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)源碼解析

Apache ShiroApache Shiro是一個功能強大且靈活的開源安全框架,主要功能包括用戶認證、授權、會話管理以及加密。在了解該漏洞之前,建議學習下Apache Shiro是怎么使用.debug環境jdk1.8Apache Shiro 1.2.4測試demo本地debug需要以下maven依賴<!-- https://mvnrepository.com/…

window 下的mysql_Windows下MySQL下載安裝、配置與使用

用過MySQL之后&#xff0c;不論容量的話&#xff0c;發現比其他兩個(sql server 、oracle)好用的多&#xff0c;一下子就喜歡上了。下面給那些還不知道怎么弄的童鞋們寫下具體的方法步驟。(我這個寫得有點太詳細了&#xff0c;甚至有些繁瑣&#xff0c;有很多步驟在其他的教程文…

H264視頻通過RTMP直播

http://blog.csdn.net/firehood_/article/details/8783589 前面的文章中提到了通過RTSP&#xff08;Real Time Streaming Protocol&#xff09;的方式來實現視頻的直播&#xff0c;但RTSP方式的一個弊端是如果需要支持客戶端通過網頁來訪問&#xff0c;就需要在在頁面中嵌入一個…

Pytorch 自定義激活函數前向與反向傳播 ReLu系列 含優點與缺點

文章目錄ReLu公式求導過程優點&#xff1a;缺點&#xff1a;自定義ReLu與Torch定義的比較可視化Leaky ReLu PReLu公式求導過程優點&#xff1a;缺點&#xff1a;自定義LeakyReLu與Torch定義的比較可視化自定義PReLuELU公式求導過程優點缺點自定義LeakyReLu與Torch定義的比較可視…

手勢處理

在ios開發中&#xff0c;需用到對于手指的不同操作&#xff0c;以手指點擊為例&#xff1a;分為單指單擊、單指多擊、多指單擊、多指多擊。對于這些事件進行不同的操作處理&#xff0c;由于使用系統自帶的方法通過判斷touches不太容易處理&#xff0c;而且會有事件之間的沖突。…

mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入門

點擊上方“Java技術前線”&#xff0c;選擇“置頂或者星標”與你一起成長一、Mybatis介紹MyBatis是一個支持普通*SQL*查詢&#xff0c;存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可以使用簡單的XML…

css預處理器sass使用教程(多圖預警)

css預處理器賦予了css動態語言的特性&#xff0c;如變量、函數、運算、繼承、嵌套等&#xff0c;有助于更好地組織管理樣式文件&#xff0c;以及更高效地開發項目。css預處理器可以更方便的維護和管理css代碼&#xff0c;讓整個網頁變得更加靈活可變。對于預處理器&#xff0c;…

mysql 主從優點_MySql主從配置實踐及其優勢淺談

1、增加兩個MySQL,我將C:\xampp\mysql下的MYSQL復制了一份&#xff0c;放到D:\Mysql2\Mysql5.1修改my.ini(linux下應該是my.cnf)&#xff1a;[client]port 3307[mysqld]port 3307basedirD:/Mysql2/Mysql5.1/mysqldatadirD:/Mysql2/Mysql5.1/mysql/data/之后&#xff0c;再增加…

python 多線程并發編程(生產者、消費者模式),邊讀圖像,邊處理圖像,處理完后保存圖像實現提高處理效率

文章目錄需求實現先導入本次需要用到的包一些輔助函數如下函數是得到指定后綴的文件如下的函數一個是讀圖像&#xff0c;一個是把RGB轉成BGR下面是主要的幾個處理函數在上面幾個函數構建對應的處理函數main函數按順序執行結果需求 本次的需求是邊讀圖像&#xff0c;邊處理圖像…

Sharepoint學習筆記—Site Definition系列-- 2、創建Content Type

Sharepoint本身就是一個豐富的大容器&#xff0c;里面存儲的所有信息我們可以稱其為“內容(Content)”&#xff0c;為了便于管理這些Conent&#xff0c;按照人類的正常邏輯就必然想到的是對此進行“分類”。分類所涉及到的層面又必然包括: 1、分類的標準或特征描述{即&#xf…

arduino byte轉string_Java數組轉List集合的三駕馬車

點擊上方 藍字關注我們來源&#xff1a;blog.csdn.net/x541211190/article/details/79597236前言本文中的代碼命名有的可能不太規范&#xff0c;是因為沒法排版的問題&#xff0c;小仙已經很努力去解決了&#xff0c;希望各位能多多點贊、分享。好了&#xff0c;不多bb了(不要讓…

ES6筆記(4)-- Symbol類型

系列文章 -- ES6筆記系列 Symbol是什么&#xff1f;中文意思是標志、記號&#xff0c;顧名思義&#xff0c;它可以用了做記號。 是的&#xff0c;它是一種標記的方法&#xff0c;被ES6引入作為一種新的數據類型&#xff0c;表示獨一無二的值。 由此&#xff0c;JS的數據類型多了…

mysql類型說明_MYSQL 數據類型說明

MySQL支持大量的列類型&#xff0c;它可以被分為3類&#xff1a;數字類型、日期和時間類型以及字符串(字符)類型。本節首先給出可用類型的一個概述&#xff0c;并且總結每個列類型的存儲需求&#xff0c;然后提供每個類中的類型性質的更詳細的描述。概述有意簡化&#xff0c;更…