- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一个关于算法和数据结构主题的大学项目,其中我必须处理非常大的整数并用它们执行操作。我将数字实现为字符串,然后实现了不同的操作函数。问题是当输入数据数量太大时,应用程序会继续运行而不会出现任何错误。
我试图理解发生这种情况的原因,并且我做了一个小主程序,其中我只将大数字作为字符串并将它们存储在动态数组中,然后打印它们,但即使如此,它也会继续运行而不停止。
int main(int argc, const char * argv[]) {
int numOfNumbers;
int numbersAdded=0;
string input;
string * arrayStrings;
cin>>numOfNumbers;
arrayStrings = new string[numOfNumbers];
while(numbersAdded<numOfNumbers){
cin>>input;
arrayStrings[numbersAdded]=input;
numbersAdded++;
}
for( int i = 0;i<numOfNumbers;i++){
cout<<arrayStrings[i]<<endl;
}
delete arrayStrings;
return 0;
}
让您被捕的条目示例是:
100
1755128662250792726817307299021171022405
31602321932429919472347573932692115431
268613145625556
250995805115735123
2899821022216164821112051434821414118992115
27037278211962523201109134711837128617
279861141430143181518313
2556629007151952158131140
1196912232195651587224241
25217152742925013174325932918818704
127821054
253383867323001191423791
12348974130864
244901178019747324332994326262233310788
18871141121893613802910810566
298051220827966
22834322993767274181806121073176276959
12172351826990186206862376618791364
265732764173081220829716267442977319643273552225
24918204792116219043248262793915692401
1305831542
30700176671024343283713253592324315123
9631
1804116485164091127419645307015708
29922293842728930729216901755925702294991697
312452939618283102002333813782
97001726910215
23089
2228413461326671224530389
50281073851141324619663888524356
205537847
4387273422883676941299220683242529040
1068826033659423960273693499146131576
2353678092237010742
567428219113142508327393933916217
17519165136816290383310
171663253627992516622113674
13381174435173157252769015538248512802226982
18939548432449863556502935431668
227241606761772096923316172751849825321
28694
261158777214625061325511618639
26145245508605217823270225534
9144465612451
402063232412328332621313454157147811593510403
2974732438266188181
1971018749
2608143554273201627901930612227
167113264813914100695502
239491554826951684320992306102348527205832624426
322822701797512490321722
1222658617674291042489030110130720373
1918462976913296498889758915077263829448
272293167524341951427352662028327883857012375
174729150
1883623593305601460321897187512426209633019
8429505540641879120482112152815831074
2911590820561533087024079274326803
231262255129369314921398
30218
6853262887099
2979341273197322453071355192052510086228731082
6438195802600523532253931662830115
21455231162900119942
1839328344472262818266
2268711331105532851514258226702715029956686
1381271732204670982604920683
1750956011825180313080759535309
18306484
16752289242081714613984029594732346411804
269183243217101651922759
131903520
229283615302493931
25763
364627483502384441528056209239724
354632628
3536258474331130602772228026
287381151832596
28131307231326253372981510017858241118521
169071469721153
7226251212711565303162629173113572719
258312380924193826615620250272436820120
160731153614188
2355415899121291505218690251982485
2945329191793126217
199711279824919481281127503728828878916664
1846726425647269211818
2465830451616236642298932066180323217722337
2429926243493098211362313209
165211048224556263776021
7241210514
225393969266532086311050200721609924062
2391931833136282025125495
2211530320
15811209652225412597
104015738152769143240341892186871702212318
101430481142326694
327164589132301399725305
606829769525
136531485572681027581483494522825242
最佳答案
我建议不要使用字符串来存储数字。在您的上下文中,字符串将占用更多空间并且操作速度会很慢。
假设您要存储数字 12345678901234567890。现在,如果您想使用字符串存储该数字,则需要 20 个字节(使用 8 位字符)。 字符串s =“12345678901234567890”;
您可以使用无符号整数数组来代替。在大多数现代编译器和计算机体系结构中,整数为 4 字节。所以它们可以表示 4,294,967,295 之前的数字。现在让我们考虑可以用无符号整数表示的最大数字是十进制(所有数字都是九)是999,999,999。如果现在使用整数数组,则只需要 3 个整数。这是 12 个字节。 无符号整数数字[] = {234567890, 345678901, 12};
现在考虑简单的算术运算加法。 无符号整数 number1[] = {123456789, 123456789}; 无符号整数 number2[] = {987654321, 987654321};现在,如果您想将以上两个数字相加,您只需进行 2 次迭代即可得到答案。
如果你达到了位级别,你还可以进一步压缩完成的内存占用。这将是有点乏味的工作,但你会得到最好的表现。
关于c++ - 我不知道如何存储表示为字符串的大量大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60952513/
我正在运行一个辅助角色,并检查 Azure 上托管的存储中是否存在数据。当我将连接字符串用于经典类型的存储时,我的代码可以正常工作,但是当我连接到 V2 Azure 存储时,它会抛出此异常。 “远程服
在我的应用程序的主页上,我正在进行 AJAX 调用以获取应用程序各个部分所需的大量数据。该调用如下所示: var url = "/Taxonomy/GetTaxonomyList/" $.getJSO
大家好,我正在尝试将我的商店导入我的 Vuex Route-Gard。 路由器/auth-guard.js import {store} from '../store' export default
我正在使用 C# 控制台应用程序 (.NET Core 3.1) 从 Azure Blob 存储读取大量图像文件并生成这些图像的缩略图。新图像将保存回 Azure,并将 Blob ID 存储在我们的数
我想将 Mlflow 设置为具有以下组件: 后端存储(本地):在本地使用 SQLite 数据库存储 Mlflow 实体(run_id、params、metrics...) 工件存储(远程):使用 Az
我正在使用 C# 控制台应用程序 (.NET Core 3.1) 从 Azure Blob 存储读取大量图像文件并生成这些图像的缩略图。新图像将保存回 Azure,并将 Blob ID 存储在我们的数
我想将 Mlflow 设置为具有以下组件: 后端存储(本地):在本地使用 SQLite 数据库存储 Mlflow 实体(run_id、params、metrics...) 工件存储(远程):使用 Az
我的 Windows 计算机上的本地文件夹中有一些图像。我想将所有图像上传到同一容器中的同一 blob。 我知道如何使用 Azure Storage SDKs 上传单个文件BlockBlobServi
我尝试发出 GET 请求来获取我的 Azure Blob 存储帐户的帐户详细信息,但每次都显示身份验证失败。谁能判断形成的 header 或签名字符串是否正确或是否存在其他问题? 代码如下: cons
这是用于编写 JSON 的 NeutralinoJS 存储 API。是否可以更新 JSON 文件(推送数据),而不仅仅是用新的 JS 对象覆盖数据。怎么做到的??? // Javascript
我有一个并行阶段设置,想知道是否可以在嵌套阶段之前运行脚本,所以像这样: stage('E2E-PR-CYPRESS') { when { allOf {
我想从命令行而不是从GUI列出VirtualBox VM的详细信息。我对存储细节特别感兴趣。 当我在GUI中单击VM时,可以看到包括存储部分在内的详细信息: 但是到目前为止,我还没有找到通过命令行执行
我有大约 3500 个防洪设施,我想将它们表示为一个网络来确定流动路径(本质上是一个有向图)。我目前正在使用 SqlServer 和 CTE 来递归检查所有节点及其上游组件,只要上游路径没有 fork
谁能告诉我 jquery data() 在哪里存储数据以及何时删除以及如何删除? 如果我用它来存储ajax调用结果,会有性能问题吗? 例如: $("body").data("test", { myDa
有人可以建议如何为 Firebase 存储中的文件设置备份。我能够备份数据库,但不确定如何为 firebase 存储中的文件(我有图像)设置定期备份。 最佳答案 如何进行 Firebase 存储的本地
我最近开始使用 firebase 存储和 firebase 功能。现在我一直在开发从功能到存储的文件上传。 我已经让它工作了(上传完成并且文件出现在存储部分),但是,图像永远保持这样(永远在右侧加载)
我想只允许用户将文件上传到他们自己的存储桶中,最大文件大小为 1MB,仍然允许他们删除文件。我添加了以下内容: match /myusers/{userId}/{allPaths=**} { al
使用生命周期管理策略将容器的内容从冷访问层移动到存档。我正在尝试以下策略,希望它能在一天后将该容器中的所有文件移动到存档层,但事实并非如此在职的。我设置了选择标准“一天未使用后”。 这是 json 代
对于连接到 Azure 存储端点,有 http 和 https 两个选项。 第一。 https 会带来开销,可能是 5%-10%,但我不支付同一个数据中心的费用。 第二。 http 更快,但 Auth
有人可以帮我理解这一点吗?我创建了Virtual Machine in Azure running Windows Server 2012 。我注意到 Azure 自动创建了一个存储帐户。当我进入该存
我是一名优秀的程序员,十分优秀!