当前位置: 首页 > 编程语言 > C#

2^1000的数字之和是多少?分享

时间:2023-04-10 16:49:20 C#

数2^1000的数字之和是多少?这是ProjectEuler的一个问题,这个问题包含一些源代码,所以如果你有兴趣自己解决它,请考虑这是一个剧透警告。不鼓励分发问题的解决方案,这不是我想要的。我真的需要一些正确方向的推动和指导。问题如下:2^15=32768,它的各位数字和是3+2+7+6+8=26。2^1000这个数的各位数字和是多少?我理解问题的前提和数学,但我一周前才开始练习C#,所以我的编程充其量是不稳定的。我知道int、long和double绝对不足以容纳2^1000的300+(以10为底)数字,因此需要一些策略。我的策略是设置一个计算,一个一个地取数字,并希望编译器能够弄清楚如何计算每个数字而不会出现溢出之类的错误:usingSystem;使用System.IO;使用System.Windows.Forms;namespaceeuler016{classDigitSum{//对2^powerOfTwo[STAThread]的所有(以10为底)数字求和staticvoidMain(string[]args){intpowerOfTwo=1000;整数总和=0;//遍历2^powerOfTwo的每个(以10为底)数字,从右到左for(intdigit=0;Math.Pow(10,digit)Sum:1366这不是一个严肃的答案——只是一个观察。虽然尝试用一种编程语言击败ProjectEuler是一个很好的挑战,但我相信该网站旨在进一步推动所有尝试它的程序员的视野。换句话说,考虑使用不同的编程语言。该问题的CommonLisp解决方案可能像(defunsum_digits(x)(if(=x0)0(+(modx10)(sum_digits(truncate(/x10)))))(print(sum_digits)(expt21000)))main(){charc[60];intk=0;while(k57){c[k-1]+=1;c[k]-=10;}k++;}如果(c[0]>57){k=0;while(kPython使用oneliner计算很简单:printsum(int(digit)fordigitinstr(2**1000))ormap:以上是C#学习教程:数2^1000的和是多少?所有内容分享,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注---printsum(map(int,str(2**1000)))本文采集自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除,如有转载,请注明出处: