計算n!的位數
log10(12*13)=log10(12)+log10(13)=2
*/
#include<stdio.h>
#include<math.h>
int main()
{
int zushu,n,i;
double sum;
scanf("%d",&zushu);
while(zushu--)
{
scanf("%d",&n);
sum=0;
for(i=1;i<=n;++i)
sum+=(double)log10(i);
printf("%d\n",(int)sum+1);
}
return 0;
}
相關推薦
計算n!的位數
/* log10(12*13)=log10(12)+log10(13)=2 */ #include<stdio.h> #include<math.h> int main() { int zushu,n,i; double sum;
計算N!(陣列模擬超大數運算)
計算N! Time Limit:1000MS Memory Limit:32768K Description yaojian最近學了一個新的運演算法則——階乘,但他很懶,不想一步一步計算,所以他想讓你來幫他編一個程式,能馬上得到N的階乘。 Input 輸入包含若干
1177:計算N!
1177:計算N! Description 你的好友小王最近學了一個新的運演算法則-----階乘,但他很懶,不想一步一步計算,早知道你是一個程式設計師高手,所以他想讓你來幫他編一個程式,能馬上得到N的階乘。 Input 輸入包含若干行資料,每行都有一個整數N(0&l
輸入不超過10000的正整數,計算n!的具體值。
輸入:輸入有若干組,每組資料包含一個整數n(n<=10000)。 輸出:n!的具體值。 程式碼如下: #include<iostream> #include<cstring> using namespace std; int main(){
實驗三:分別用for,while;do-while循壞語句以及遞歸的方法計算n!,並輸出算式。
分享圖片 return 方法 gui rgs class ima n! 用法 源代碼: package jiecheng;import java.util.Scanner;public class JieCheng { public st
實驗三:分別用for、while和do-while循環語句以及遞歸方法計算n!,並輸出算式
scanner bsp ret while 循環語句 rda font ips == 實驗三:分別用for、while和do-while循環語句以及遞歸方法計算n!,並輸出算式 //用for循環語句求n! Public class jiecheng { Public
light oj 1045 - Digits of Factorial K進制下N!的位數
class lsp eno pac lan and val section href 1045 - Digits of Factorial Factorial of an integer is defined by the following function f(0)
c++ 求sum(n!),n可以為極大的數 並程式計算執行時間
此程式為用C++求1! + 2! + 3! + …… + n! 其中n可以為極大的數,通常情況下double型只能存放1! + 2! + 3! + …… + 170!採用陣列的方法儲存資料可以做到算無窮大的數的階乘的和,期限制因素只在於程式中定義的陣列的大小。假如有比該
Digits of Factorial --計算n!在k進位制下位數
思路: 利用log求位數。。。以前做過一個比較a的b次方和c的d次方的大小的題,就是利用log統一底數在比較。 f[n]在k進位制下的位數,即logk(f[n])=log10(f[n])/log10[k],打個1e6的表,表示10進位制下f[n]的位數,即log10(f[
n!的位數
給一個整數n(n<1e7)求n!有多少位 1用log10來算: log(10)a*b=log(10)a+log10(b) 一個數a的位數位log(10)a+1; (1)如果要求log以a為底n的對數:log(n)/log(a) #include<stdio.h> #in
hdu1018(求n!的位數)
Problem Description In many applications very large integers numbers are required. Some of these applications are using keys for secur
【練習】計算1!+2!+...+n!之和
方法1:用2層迴圈控制,外部決定1到10(階乘數的變化),內部負責計算階乘,最後把每次階乘相加 注意: (1)外部迴圈每進來一次(i變一次)將sum重置1,否則sum是上一個數字的階乘 #include <stdio.h> int main () { int
1002. 寫出這個數 讀入一個自然數n,計算其各位數,用漢語拼音寫,用漢語拼音寫出和的每一位數字。
// 1002.cpp: 定義控制檯應用程式的入口點。//#include "stdafx.h"#include <iostream>#include<string>using namespace std;int main(){ string a
Big Number(hdu1018,求n!的位數)
連結:http://acm.hdu.edu.cn/showproblem.php?pid=1018 Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java
N!的位數兩種方法求解
轉載自:http://blog.csdn.net/bcwan_/article/details/51533773 第一種方法: 將n!表示成10的次冪,即n!=10^M 則不小於M的最小整數就是 n!的位數,對該式兩邊取對數,有 M =log10^n!即: M
HDU1018 Big Number n!的位數
math sam which n-2 printf ever ber some mil Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
HDU 1042 N!
描述 spa 之前 font pan return task ces pro 題目來源:http://acm.hdu.edu.cn/showproblem.php?pid=1042Problem DescriptionGiven an integer N(0 ≤ N ≤ 1
求階乘,輸入一個正整數 n,輸出n!
factor i++ print 階乘 pri tor n) printf main #include<stdio.h>int factorial (int n); int main(){ int n; scanf("%d",&n); printf("
N!的階乘附帶簡單大整數類的輸入輸出(暫時沒有深入的了解)
ios sta 好的 n! width ear ati str cstring Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! 我的思路:就想著大整數類去了,才發現自己還不能很好的掌握,其實
譚浩強 c程序設計 8.17用遞歸法將一個整數n轉換成字符串。例如,輸入486,應輸出字符串"486"。n的位數不確定,可以是任意位數的整數。
tco xsl bof hcl mku owb kit gym code 8.17用遞歸法將一個整數n轉換成字符串。例如,輸入486,應輸出字符串"486"。n的位數不確定,可以是任意位數的整數。 #include <stdio.h>char str1[20]