`

高精度求解,一,二维动态数组的创建

 
阅读更多

求解2的N次方。100《N《300

#include<iostream>
using namespace std ;
int main()
{
    int a[310]={0},i,n;
    cin>>n ;
    a[0]=2 ; n=n-1 ;
    while(n--)
    {
        for(i=0;i<310;i++)
        {
         a[i] = 2*a[i] ;
        }
         for(i=0;i<310;i++)
        {
          a[i+1] += a[i]/10;
          a[i]=a[i]%10 ;
        }
    }
   bool b = false ;
   for(i=309;i>=0;i--)
   if(b==false){
   if(a[i]!=0)
    {
    b=true ;
    cout<<a[i] ;
    continue ;
    }
   }else{
    cout<<a[i] ;
   }
    cout<<endl ;

}

 

或者
     
#include <iostream>
using namespace std;

#define MAX_LEN 310

int main()
{    
    int n,m,i,j,k;
    cin >> n;
	int res[MAX_LEN] = { 0 };
    res[MAX_LEN-1] = 1;
	m = 1;		//当前结果为m位数
    for(j = 0; j < n; j ++)		//2的n次幂
	{
        for(i = MAX_LEN-1, k = m; i >= 0 && k >= 1; i --, k --)		//从低位往高位依次运算
            res[i] *= 2;              
		for(i = MAX_LEN-1; i > 0; i--)		//进位
		{
			if(res[i] >= 10)
			{
				res[i] -= 10;
				res[i - 1] ++;
				if(MAX_LEN-i == m)
					m ++;
            }
		} 
    }

	for(i = 0; res[i] == 0 && i < MAX_LEN; i++);
	for(; i < MAX_LEN; i++)
		cout << res[i];
	cout << endl;

	return 0;
}
 
动态数组的创建:一,二维数组
  
#include <iostream>
using namespace std;
int main()
{
    int n,m,m1,i,j,e;
     cin>>n>>m;
    char** a = new char*[m];//定义动态二维数组
   int* b = new int[m];//定义动态一维数组
   for (i = 0; i<m; i++)
     a[i] = new char[n+1];//注意一定要是n+1,否则会出错(原因与输入数组有关)
 delete[] b; 
 delete[] b2;
 delete[] c;
 for (m1 = 0; m1<m; m1++)
  delete[] a[m1];
 return 0;
}
  
警告:最后一定要删除delete。
分享到:
评论

相关推荐

    一维二维插值c代码

    二维插值则是在平面内的多个数据点上构建一个连续的表面。下面我们将详细讨论标题和描述中提到的一维插值和二维插值方法,并给出C语言实现的相关知识点。 1. 埃特金不等距插值: 埃特金(Atkinson)插值法是处理非...

    java程序设计

    在这个示例中,通过双层循环来遍历二维数组的每一行,并将行内元素相加,同时比较并记录最大的行之和及其索引。这个过程同样展示了对二维数组的操作和处理。 从上述的Java程序设计实例中,我们可以提炼出以下知识点...

    一维高斯积分点求解算法matlab

    对于一维高斯积分,通常会选取n个积分点以及对应的n个权重系数,使得对于所有形如\[ \int_{-1}^{1} f(x) dx \]的积分都能得到高精度的近似值。这里的f(x)是一次多项式或更高次的多项式函数。 ### 二、MATLAB代码...

    C 代码 求解矩形上的二维泊松方程, 使用有限元法, 和分段二次三角形单元.rar

    在本压缩包中,我们关注的是使用C语言解决二维...总之,这个C代码实现了有限元方法求解二维矩形上的泊松方程,通过分段二次三角形单元提高了精度。理解这种算法和代码的细节对于学习数值方法和C编程都具有很高的价值。

    2维euler流场求解器

    二维Euler流场求解器是一种用于计算流体动力学问题的软件工具,它专注于解决在二维空间内的Euler方程。Euler方程是一组偏微分方程,描述了不可压缩流体的运动,涵盖了速度、压力、密度和内能等关键物理量的变化。在...

    有限差分法求解二维电位函数的MATLAB程序设计及分析 (2001年)

    在MATLAB中实现有限差分法求解二维电位函数,需要编写程序对上述过程进行模拟。关键步骤包括:初始化电位数组、编写迭代过程、设置终止条件。具体程序设计涉及到数组操作、循环控制语句等编程基础,还要用到MATLAB...

    pde显示求解_偏微分方程显式求解_

    在MATLAB编程环境中,我们通常会使用二维数组来表示空间网格,并利用矩阵运算来执行差分操作。例如,“pde显示求解 2.m”和“pde显示求解.m”这两个文件可能包含了具体的MATLAB代码,用于设置网格,定义PDE,执行...

    gaosi.rar_方程组求解_高斯消去法

    例如,可以定义一个二维数组A来存储系数矩阵,另一个二维数组B来存储常数项。 2. **行变换**:通过行交换(`PERMUTE`函数)、行倍加(`ADDScaledRow`函数)和行倍乘(`MultiplyRow`函数)来实现矩阵的行变换。这些...

    C++初级教学文件(ppt)

    一维数组与二维数组(06一维数组与二维数组.ppt)** 数组是存储多个相同类型数据的有效方式。一维数组相当于线性结构,而二维数组则可以理解为表格形式的数据存储。这部分内容会介绍如何声明、初始化和操作数组。 ...

    动态规划求组合数终极版

    对于组合数的计算,我们可以构建一个二维数组dp[n+1][m+1],其中dp[i][j]表示从i个元素中选择j个的方法数。初始化dp[0][0] = 1,因为从0个元素中选0个有且仅有一种方法。然后按照递推关系填充数组: ```python for ...

    用C语言求解N阶矩阵的算法

    矩阵可以用二维数组来表示,其中每个元素都是一个数字。例如,在上面的代码中,我们定义了一个4x4的矩阵`a`,其中每个元素都是一个浮点数。 2. 高斯消去法: 高斯消去法是一种常用的线性方程组求解方法。其基本思想...

    线性方程求解代码

    在C++中,可以利用二维数组存储矩阵,通过行交换、标量乘法和行加法实现这些变换。 2. **克拉默法则**:当系数矩阵A是方阵且可逆时,可以直接计算出未知数的值。克拉默认则涉及到计算子矩阵的行列式,然后用这些...

    中心差分法Matlab源程序

    例如,对于二维情况,可以创建一个二维数组来表示网格上的函数值,然后对每个内部点执行中心差分。 在Matlab中,可以利用向量化操作和内置函数如`diff`来简化代码并提高效率。例如,对于一维情况,`diff`函数可以...

    旅行商TSP 求解最佳路径问题

    邻接矩阵是一个二维数组,其中的元素表示城市之间的距离;邻接表则更节省空间,仅存储相连城市的信息。 2. **初始化路径**:一种常见的初始路径生成方法是随机选择一个起点,然后随机选取未访问过的城市添加到路径...

    Huantwofat之ACM模板库2

    2. **二维树状数组**:是树状数组在二维空间的应用,可以高效地处理矩阵的区间求和。`sum(x, y)`计算矩形`(x, y)`到`(x, y + low(y) - 1)`和`(x + low(x) - 1, y)`到`(x + low(x) - 1, y + low(y) - 1)`的和,`merg...

    matlab数组字符串 double型数值 算法开发、数据可视化、数据分析以及数值计算 Matlab课程 教程 进阶

    数组可以是数值、字符甚至逻辑值的集合,支持一维、二维及多维数组。在算法开发中,数组操作如索引、切片、拼接和矩阵运算(如乘法、加法)是必不可少的。例如,利用数组索引可以方便地访问和修改数组元素,矩阵乘法...

    递推与递归应用[参照].pdf

    这里我们可以构建一个二维数组F[i,j]来表示到达点(i,j)的路径数,同时使用一个二维数组g[i,j]来标记点(i,j)是否为障碍点。通过以下递推关系式可以计算路径数量: - 如果点(i,j)是障碍点,则F[i,j] = 0。 - 对于第一...

    C语言常用代码[借鉴].pdf

    - `fullxunhuan`函数展示了如何填充一个特定模式的二维数组,比如实现一个全循环矩阵。 2. **ACM小组内部预定函数**: - 这些函数涉及到数值计算的精度问题,如大数的阶乘、乘法、加法、减法等,这些都是在处理...

    Guass消去法解线性方程组(C语言)程序

    1. **初始化矩阵和向量**:代码中定义了两个二维数组`A[7][7]`用于存储系数矩阵,和一个一维数组`b[7]`用于存储线性方程组的常数项,同时预设了一个一维数组`x[7]`用于存放解向量。 2. **前向消元过程**: - 检查...

    高斯列主元求解线性方程(C#可视化版)

    在C#编程中,我们可以创建一个二维数组表示系数矩阵,另一个数组存储常数项。然后,我们定义一个函数来执行上述的列主元消去步骤,这个函数会接收系数矩阵和常数项作为参数,返回处理后的阶梯形矩阵。为了实现可视化...

Global site tag (gtag.js) - Google Analytics