poj 1001 高精密度冪運算

2022-04-04 01:52:23 字數 1138 閱讀 6282

思路就是將每位數字分別存入乙個整數陣列中,並記錄小數點的位置,迴圈相乘,按列相加因子,並進製去權,和我們草稿紙上算乘法差不多,迴圈n次

1 #include 2 #include 3

using

namespace

std;45

intmain()

6; //

九九乘法表

19char buf[7

] ;20

21while ( scanf( "

%s%d

" , buf , &n ) == 2)22

//記錄小數點的位置p,跳過小數點

34 b[++i] = buf[j--] - '

0' ; //

倒序的方式將讀入的字串中的數字逐個存入陣列b,b[1]個位、b[2]十位,以此類推35}

36 bw =i ;

37while ( b[bw] == 0 ) bw-- ; //

得到的整數b有bw位(去掉前導的0)

3839

for ( h = 1 ; h <= n ; h++)

4048

}49 cw += bw ; //

位的增加

50 c[1] = 0;51

for ( i = 1 ; i < cw ; i++)

5258

if ( c[cw] == 0 ) cw-- ; //

去首位059}

6061

62 p *= n ; //

小數點的移動

63 g++;

6465

for ( i = 1 ; i <= cw ; i++ ) sss[g][i] =c[i] ;

66 www[g] = cw ; ppp[g] =p ;

6768}69

7071

for ( h = 1 ; h <= g ; h++)

7282 printf( "\n"

) ;83}84

85 }

大數相關poj1001

go.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include include include includeusing namespace std const long base 10000 class bigintege...

POJ 1001 解題報告

這道題主要是考察數的高精度乘法,使用陣列儲存資料,陣列中的元素對於高精度資料中的某一位。我用的思想很簡單,類似我們手算乘法時採用的步驟,這是在兩層的for 迴圈中實現的。需要注意乙個問題,如果採用unsigned char型儲存元素,在運算的過程中rslt元素的中間結果可能超過255,造成乘法結果的...

POJ 1001 解題報告

這是一道基礎的高精度的題目。對於高精度的題目,頭腦一定要清晰,一定要細心。這種題,錯的話還是比較難改的 除非用debug,好吧,我用了 基本思路就是把所有的數字反過來存放在字串陣列中,然後一位一位的模擬手算。要注意的是 1 字元 n 和數字n之間的轉換要搞清 2 每次更新是盡量把陣列清零,否則可能使...