两数相加 :计算出2^2023与3^2023的和

使用c++计算22023与32023的和

思路

1、使用字符串来存储两个数

2、自定义函数addStrings用于将两个字符串表示的数字相加,实现了大整数相加的功能。它通过遍历两个字符串的每一位,将对应位置的数字相加,并考虑进位。最后将结果转换为字符串返回。

3、函数powToString用于计算一个数字的幂并将结果转换为字符串。它使用了addStrings函数来实现幂的计算。通过循环调用addStrings函数,将结果与自身相加2023次,最后得到幂的结果。

#include<iostream>
#include<string>
#include<cmath>
using namespace std;

string addStrings(string num1,string num2)//用于将两个字符串表示的数字相加 ,实现大整数相加的功能 
{
	string result = "";   //用空字符串存储最终结果 
	int c = 0;            //表示进位值 
	int i = num1.length() - 1;//表示num1的索引位置 
	int j = num2.length() - 1;
	
	while(i >= 0||j >= 0||c > 0)
	{
		int digit1 = i >= 0 ? num1[i] - '0': 0;   //将字符串转化为整数 
		int digit2 = j >= 0 ? num2[j] - '0': 0;
		int sum = digit1 + digit2 + c;
		c = sum / 10;
		result = to_string(sum % 10) + result;//用临时的和对10求余 ,得到当前位置的结果值 
		i--;
		j--;
	}
	return result;
}

string powToString(int b,int e)//b代表底数,e代表指数,函数用来执行字符串相加 
{
	string result = "1";
	for(int i = 0;i < e;i++)
	{
		result = addStrings(result,result);//调用add函数,将结果 与自身相加e次,最后得到幂的结果 
	 } 
	 return result;
}

int main()
{
	string num1 = powToString(2,2023);//调用pow函数计算的结果,将结果存储在num1和num2中 
	string num2 = powToString(3,2023);
	string sum = addStrings(num1,num2);
	cout<<"2^2023+3^2023="<<sum<<endl;
	return 0;
}

结果

posted @ 2023-07-08 10:14  无边界  阅读(373)  评论(0)    收藏  举报