1. 程式人生 > >java大數-數字階乘求和

java大數-數字階乘求和

給定a和n,計算a+aa+aaa+a...a(n個a)的和,其中,1<=a<=9,1<=n<=100

其實就是利用BigInteger模擬。

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
	public static void main(String[] argc) {
		Scanner in=new Scanner(System.in);
		while(in.hasNext()) {
			int a=in.nextInt();
			int n=in.nextInt();
			BigInteger sum=BigInteger.valueOf(0);
			BigInteger aa=BigInteger.valueOf(a);
			BigInteger aaa=aa;
			BigInteger radix=BigInteger.valueOf(10);
			for(int i=1;i<=n;i++) {
				sum=sum.add(aaa);
				aaa=aaa.add(aa.multiply(radix.pow(i)));
			}
			System.out.println(sum);
		}
	}
}

相關推薦

java大數-數字求和

給定a和n,計算a+aa+aaa+a...a(n個a)的和,其中,1<=a<=9,1<=n<=100 其實就是利用BigInteger模擬。 import java.math

java大數

import java.math.*; import java.util.Scanner; public class LargeNumber{ public static void main(St

Java 一個求和的問題

在java2實用教程書上找的基礎題,一天一題,今天的題目是關於階乘求和的。題目如下:編寫應用程式求:1!+2!+3!+4!+5!+6!+7!+8!+9!+10!。求解這道題目的思路是,使用for迴圈計算從1到10每一個數字的階乘的結果,然後使用一個sum變數求和得到最後的結果

求和

ava 循環計算 cto lan ++ () out hub master 題目:求1+2!+3!+...+20!的和 方案1 //第i項的階乘值f(n)=f(n-1)*n public static int getFactorial(int i){ i

2017/7/31-zznu-oj-問題 B: N! 普拉斯 -【求大數-ll存不下-然後取尾零的個數輸出-暴力模擬】

討論 def ems long size 字符串 problems turn dmi 問題 B: N! 普拉斯 時間限制: 1 Sec 內存限制: 128 MB提交: 114 解決: 35[提交] [狀態] [討論版] [命題人:admin] 題目描述 在處理階乘時也

連結串列實現大數

連結串列實現大數階乘 題目 大數運算——計算n的階乘 (n≥20)。 基本要求 (1)資料的表示和儲存: ①累積運算的中間結果和最終的計算結果的資料型別要求是整型——這是問題本身的要求。 ②試設計合適的儲存結構,要求每個元素或結點最多儲存資料的3位數值。 (2)資料的操作及其實現: 基於設計的儲

鏈表實現大數

元素 大數運算 pre let ++ 結果 get delet value 鏈表實現大數階乘 題目 大數運算——計算n的階乘 (n≥20)。 基本要求 (1)數據的表示和存儲: ①累積運算的中間結果和最終的計算結果的數據類型要求是整型——這是問題本身的要求。 ②試設計合適的

hdu1042 N!(大數)

N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 94583   &

大數計算

階乘和()目前還存在問題 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std;

大數

         今天開始做做演算法的題目,在51NOD網站上。(本人是剛入手oj的小菜鳥)想以部落格形式記錄下自己的寫過的題目,加一總結。題目如下所示: Input 輸入N(1 <= N <= 10000) Output 輸出N的階乘 Input示例

題目四 大數

#include<stdio.h> int main() {  int m;  int a[9000];//確保儲存最終運算結果的陣列足夠大  int digit=1;//位數  int temp;//階乘的任一元素與臨時結果的某位的乘積結果  int i,j,

C語言-求數字(遞迴函式)

/* * C語言 求數字的階乘 */ #include <stdio.h> #include <stdlib.h> long jiecheng(int n); void main() { int n=0; pri

n的會溢位?解決超大數字溢位問題。

package demo; /** * Created by fx. */ public class BigInteger { /** * 計算進位 * @param bit 陣列 * @param pos 用於判

大數。比如1000的。C語言裡沒有能夠存這麼大的資料型別。

我的想法是用兩個迴圈, 外層迴圈從1到n。內層迴圈求每個數與前面的數的乘積。 #include<stdio.h> int main() {static int a[100000]; //設定一個超大陣列來儲存乘積結果。int n;//要求的n的階乘int jw

Python 練習例項25 求和

題目:求1+2!+3!+...+20!的和。 程式分析:此程式只是把累加變成了累乘。 程式碼: #!/usr/bin/python # -*- coding: UTF-8 -*- sum = 0

神祕的三位數 有這樣一個3位數,組成它的3個數字之和正好等於它本身。即:abc = a! + b! + c!

/* 神祕的三位數 有這樣一個3位數,組成它的3個數字階乘之和正好等於它本身。即:abc = a! + b! + c! 下面的程式用於搜尋這樣的3位數。請補全缺失的程式碼。 把填空的答案(僅填空

java大數

//JAVA 大數階乘 import java.math.*; import java.util.Scanner; public class LargeNumber{ public sta

大數JAVA

小編初學Java,先解決一下大數問題,還請多多關注^-^ 描述 我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它? 輸入 輸入一個整數m(0<m<=5000) 輸出 輸出m的階乘,並在輸出結束之後輸入一個換行符

Java利用BigInteger類求大數運算

進行大數運算,用到BigInteger類,首先介紹一下這個類 方法 描述 public BigInteger (String var) 將一個字串變為BigInteger型別的資料 public BigInteger add(BigInteg

java競賽-大數問題

        Java計算階乘(n!)需要使用實現使用BigDecimal類,因為用int最多正確算到12!,用long最多正確算到20!         計算機中提供了長整型和雙精度等能儲存較大