如何将超级大(肯定溢出)的数用数组来表示

算法原理:以2^10000为例

  在最高数组位以2的幂次相乘,当最高位>10,将高位保存在低一位的数组中2^5 在数组中以23形式保存,最后以反向输出

/*在程序中如果要是表示2^1000次方形式,明显肯定溢出,如果用数组形式表示嗯*/
#include<stdlib.h>
#include<stdio.h>
#define ARRAY_LEN 4000

int main()
{
    int ar[ARRAY_LEN]={0};
    int i,j,print_flag=0,jinw;
    ar[ARRAY_LEN-1]=1;
    for(j=0;j<10000;j++)
    {//j代表的是次方数,i代表需要多长长度数组进行更新
        jinw=0;
    for(i=ARRAY_LEN-1;i>=0;i--)
    {
        int tmp=ar[i]*2+jinw;//在这里2可以换成其他数<10
        ar[i]=tmp%10;
        jinw=tmp/10;
    }
    }
    //print the value
    for(j=0;j<ARRAY_LEN;j++)
    {
        if(ar[j]!=0&&print_flag==0)
            print_flag=1;
        if(print_flag==1)
            printf("%d",ar[j]);
    }
    printf("\n");
    return 0;
}

 

时间: 2024-10-23 19:03:16

如何将超级大(肯定溢出)的数用数组来表示的相关文章

大话重构连载16:超级大函数

事情总是这样的:当我们对一个遗留系统一忍再忍,再忍,忍,还要忍--终于积攒到某一天,实在忍无可忍了,拍案而起,不能再忍了,重构!!!事情就这样发生了.然而,在这时你突然发现,重构的工作千头万绪,真不知从何开始.堆积如山的问题此起彼伏,期望修改的设计思绪万千.这里有个想法,那里有个思路,什么都想做,却什么都做不了,真是脑子里一团乱麻.这时候,没有一个合理的步骤,清晰的计划,瞎干蛮干是十分危险的,它会为你的重构带来不可预期的未来.无数次的经验告诉我,不论是什么系统,采用什么架构,从分解大函数开始,肯

20亿与20亿表关联优化方法(超级大表与超级大表join优化方法)

记得5年前遇到一个SQL.就是一个简单的两表关联.SQL跑了几乎相同一天一夜,这两个表都非常巨大.每一个表都有几十个G.数据量每一个表有20多亿,表的字段也特别多. 相信大家也知道SQL慢在哪里了,单个进程的PGA 是绝对放不下几十个G的数据,这就会导致消耗大量temp tablespace,SQL慢就是慢在temp来回来回来回...的读写数据. 遇到这样的超级大表与超级大表怎么优化呢?这篇文章将告诉你答案. 首先创建2个測试表 t1,t2 数据来自dba_objects create tabl

查看大文件的行数(windows 和 Ubuntu)

Windows 在Windows平台上,我们可以使用很多工具来打开文件,查看其行数,最常用的就是MS Office Word.记事本等.在MS-DOS下,我们还可以使用edit模式来打开文件,但其最多能打开65280行数据.这里推荐一个工具notepad++,这个工具能打开并显示更多行的数据,并且自动显示行号. Ubuntu 在Ubuntu平台上,我们可以使用 wc 命令在不打开文件的情况下,来统计文件的信息. 比如: wc -l myfile.txt 统计文件的行数 wc -m myfile.

企业大数据平台下数仓建设思路

免费开通大数据服务:https://www.aliyun.com/product/odps 介然(李金波),阿里云高级技术专家,现任阿里云大数据数仓解决方案总架构师.8年以上互联网数据仓库经历,对系统架构.数据架构拥有丰富的实战经验,曾经数据魔方.淘宝指数的数据架构设计专家. 与阿里云大数据数仓结缘 介然之前在一家软件公司给企业客户做软件开发和数仓开发实施,数仓开发和实施都是基于传统的基础架构.2008年加入阿里进入淘宝数据平台部后,他开始接触分布式计算平台Hadoop. 初始时在Hadoop平

CVPR-2020 AAAI2020 CVPR-2019 NIPS-2019 ICCV-2019 IJCAI-2019 论文超级大合集下载,整理好累,拿走不谢

论文超级大合集下载,整理好累,拿走不谢!!! ------------------------------------ CVPR-2020 AAAI-2020 CVPR-2019 NIPS-2019 ICCV-2019 IJCAI-2019 ------------------------------------ 独木难成林,寡林不成森, 要从整体上把握学术动向, 还是得快速查阅 论文合集! ------------------------------------ 百度链接: https://p

day04-函数与数组

1 函数 1.1  数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函数. 练习:把两个整数相加: public class FunctionDemo1{ public static void main(String[] args){ /* int a = 4+5; System.out.println("a="+a); int b = 3+9

C++数组排成最大的数(数组,算法,排列)

//把数组排成最大的数(数组.算法). //题目:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最大的一个. //例如输入数组{32, 321},则输出这两个能排成的最大数字32321.. //或者输入数组{10,9,33,1000}输出这四个能排列的最大数字933101000. #include <iostream> #define MAXSIZE 100 using namespace std; template<typename T> class Gri

python数据分析(四) python numpy--函数和数组运算

1.数组当中的函数 通用函数是一种对ndarray中的数据执行元素级运算的函数.数组当中的函数与python当中内置的函数没有什么太大的区别,区别就是数组当中的函数可以对数组当中的每一个值进行函数运算不需要编写循环(矢量化). 一元函数 接受一个数组进行运算的函数叫做一元函数,如sqrt,exp In [4]: arr=np.arange(10) In [5]: arr Out[5]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [6]: np.sqrt(a

hdu1280 前m大的数(数组下标排序)

前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13442    Accepted Submission(s): 4588 Problem Description 还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小