数学建模社区-数学中国

标题: 克服内存溢出--求2的1000次方任意数的多次方求解(N的M次方问题求解) [打印本页]

作者: wangzheng3056    时间: 2013-7-30 15:27
标题: 克服内存溢出--求2的1000次方任意数的多次方求解(N的M次方问题求解)
本帖最后由 wangzheng3056 于 2013-7-30 11:54 编辑
! Y3 D- _0 u7 U! ^! V- ]; b0 ?; }  B! _( U
  1. #include<stdio.h>
    & ?: S7 d# `/ U: j6 v- U  V
  2. #define max_size 1000
    ' J( h" G) w" O4 _/ t* c
  3. #define pow_count 1000//次数
    / T+ C9 s2 s6 a2 \) c
  4. void main()5 D; J0 L; F  Z
  5. {
    0 A' J, I& A, }; O' A% c
  6.     static int a[max_size];+ Q6 ^, X7 P( Y4 y* t- l  O
  7.     int sum,i,j;
    * c4 g) M8 i+ }. h6 d2 r) t3 |
  8.     a[0]=2;2 Q  r0 |* ~3 {4 w
  9.     for(i=1;i<max_size;i++)5 |9 [! w. T- O) `. {4 d, D: _
  10.     {2 E2 `4 m" J; I% U2 f
  11.         a[i] = 0;   
    ) T0 {9 H( e% X( O* A: H
  12.     }
    4 C' y" |3 \8 q  e* n  C
  13.     for(i = 1;i<pow_count;i++)
    & N1 t8 D- q  d& s, m3 e9 U: m
  14.     {
    ) S/ u& a: }3 ^5 b4 ~) l$ S
  15.         for(j=0;j<max_size;j++)
      |/ I- m/ D' H# e! W* M
  16.         {
    * T; `2 D$ J( C* \6 @
  17.             if(a[j]*2>=10)! y% {$ C8 G# O  i; l
  18.             {; [5 Z# N7 J8 Z/ b9 \1 B
  19.                 a[j] = a[j]*2%10;
    $ G+ `9 j% P. Z" S1 T+ Y
  20.                 a[j+1]+=1;
    6 t$ M' i6 I' d7 K( x8 }
  21.             }: A" T3 M) g) ]) j. E3 x
  22.             else! n0 ^7 ^1 J3 o2 o$ y3 S* p
  23.             {8 A$ j# }6 W% l7 `. h4 H+ q7 S0 Q
  24.                a[j]= a[j]*2;
    9 n4 p1 x! L" y( V: t
  25.              }! G0 p8 D: G- F& C7 {" Y
  26.          }  
    " K! g, ?8 L; J8 I2 k8 g
  27.     }   
    8 [1 B* h3 p) h- c& J; _1 j
  28.     for(i=max_size;i>0;i--)
    " n$ l3 W0 C; g) H4 r
  29.     {& Q1 Y# F- Q4 ^9 v7 D" J6 S! f3 t
  30.         printf(\"%d\",a[i]);# g- q3 ~' N# X' I8 b7 A% A
  31.     }
    / E6 ?3 T# {' W
  32. }
复制代码





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5