鱼C论坛

 找回密码
 立即注册
查看: 10533|回复: 45

题目13:找出100个50位数之和的前十位数字

[复制链接]
发表于 2021-8-13 22:25:54 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <string.h>


  3. int main(void)
  4. {
  5.         int i, j;
  6.         int carry, sum;
  7.         char result[56];
  8.        
  9.         memset(&result,0,56);
  10.        
  11.         char numbers[][50] ={
  12.     {"37107287533902102798797998220837590246510135740250"},\
  13.     {"46376937677490009712648124896970078050417018260538"},\
  14.     {"74324986199524741059474233309513058123726617309629"},\
  15.     {"91942213363574161572522430563301811072406154908250"},\
  16.     {"23067588207539346171171980310421047513778063246676"},\
  17.     {"89261670696623633820136378418383684178734361726757"},\
  18.     {"28112879812849979408065481931592621691275889832738"},\
  19.     {"44274228917432520321923589422876796487670272189318"},\
  20.     {"47451445736001306439091167216856844588711603153276"},\
  21.     {"70386486105843025439939619828917593665686757934951"},\
  22.     {"62176457141856560629502157223196586755079324193331"},\
  23.     {"64906352462741904929101432445813822663347944758178"},\
  24.     {"92575867718337217661963751590579239728245598838407"},\
  25.     {"58203565325359399008402633568948830189458628227828"},\
  26.     {"80181199384826282014278194139940567587151170094390"},\
  27.     {"35398664372827112653829987240784473053190104293586"},\
  28.     {"86515506006295864861532075273371959191420517255829"},\
  29.     {"71693888707715466499115593487603532921714970056938"},\
  30.     {"54370070576826684624621495650076471787294438377604"},\
  31.     {"53282654108756828443191190634694037855217779295145"},\
  32.     {"36123272525000296071075082563815656710885258350721"},\
  33.     {"45876576172410976447339110607218265236877223636045"},\
  34.     {"17423706905851860660448207621209813287860733969412"},\
  35.     {"81142660418086830619328460811191061556940512689692"},\
  36.     {"51934325451728388641918047049293215058642563049483"},\
  37.     {"62467221648435076201727918039944693004732956340691"},\
  38.     {"15732444386908125794514089057706229429197107928209"},\
  39.     {"55037687525678773091862540744969844508330393682126"},\
  40.     {"18336384825330154686196124348767681297534375946515"},\
  41.     {"80386287592878490201521685554828717201219257766954"},\
  42.     {"78182833757993103614740356856449095527097864797581"},\
  43.     {"16726320100436897842553539920931837441497806860984"},\
  44.     {"48403098129077791799088218795327364475675590848030"},\
  45.     {"87086987551392711854517078544161852424320693150332"},\
  46.     {"59959406895756536782107074926966537676326235447210"},\
  47.     {"69793950679652694742597709739166693763042633987085"},\
  48.     {"41052684708299085211399427365734116182760315001271"},\
  49.     {"65378607361501080857009149939512557028198746004375"},\
  50.     {"35829035317434717326932123578154982629742552737307"},\
  51.     {"94953759765105305946966067683156574377167401875275"},\
  52.     {"88902802571733229619176668713819931811048770190271"},\
  53.     {"25267680276078003013678680992525463401061632866526"},\
  54.     {"36270218540497705585629946580636237993140746255962"},\
  55.     {"24074486908231174977792365466257246923322810917141"},\
  56.     {"91430288197103288597806669760892938638285025333403"},\
  57.     {"34413065578016127815921815005561868836468420090470"},\
  58.     {"23053081172816430487623791969842487255036638784583"},\
  59.     {"11487696932154902810424020138335124462181441773470"},\
  60.     {"63783299490636259666498587618221225225512486764533"},\
  61.     {"67720186971698544312419572409913959008952310058822"},\
  62.     {"95548255300263520781532296796249481641953868218774"},\
  63.     {"76085327132285723110424803456124867697064507995236"},\
  64.     {"37774242535411291684276865538926205024910326572967"},\
  65.     {"23701913275725675285653248258265463092207058596522"},\
  66.     {"29798860272258331913126375147341994889534765745501"},\
  67.     {"18495701454879288984856827726077713721403798879715"},\
  68.     {"38298203783031473527721580348144513491373226651381"},\
  69.     {"34829543829199918180278916522431027392251122869539"},\
  70.     {"40957953066405232632538044100059654939159879593635"},\
  71.     {"29746152185502371307642255121183693803580388584903"},\
  72.     {"41698116222072977186158236678424689157993532961922"},\
  73.     {"62467957194401269043877107275048102390895523597457"},\
  74.     {"23189706772547915061505504953922979530901129967519"},\
  75.     {"86188088225875314529584099251203829009407770775672"},\
  76.     {"11306739708304724483816533873502340845647058077308"},\
  77.     {"82959174767140363198008187129011875491310547126581"},\
  78.     {"97623331044818386269515456334926366572897563400500"},\
  79.     {"42846280183517070527831839425882145521227251250327"},\
  80.     {"55121603546981200581762165212827652751691296897789"},\
  81.     {"32238195734329339946437501907836945765883352399886"},\
  82.     {"75506164965184775180738168837861091527357929701337"},\
  83.     {"62177842752192623401942399639168044983993173312731"},\
  84.     {"32924185707147349566916674687634660915035914677504"},\
  85.     {"99518671430235219628894890102423325116913619626622"},\
  86.     {"73267460800591547471830798392868535206946944540724"},\
  87.     {"76841822524674417161514036427982273348055556214818"},\
  88.     {"97142617910342598647204516893989422179826088076852"},\
  89.     {"87783646182799346313767754307809363333018982642090"},\
  90.     {"10848802521674670883215120185883543223812876952786"},\
  91.     {"71329612474782464538636993009049310363619763878039"},\
  92.     {"62184073572399794223406235393808339651327408011116"},\
  93.     {"66627891981488087797941876876144230030984490851411"},\
  94.     {"60661826293682836764744779239180335110989069790714"},\
  95.     {"85786944089552990653640447425576083659976645795096"},\
  96.     {"66024396409905389607120198219976047599490197230297"},\
  97.     {"64913982680032973156037120041377903785566085089252"},\
  98.     {"16730939319872750275468906903707539413042652315011"},\
  99.     {"94809377245048795150954100921645863754710598436791"},\
  100.     {"78639167021187492431995700641917969777599028300699"},\
  101.     {"15368713711936614952811305876380278410754449733078"},\
  102.     {"40789923115535562561142322423255033685442488917353"},\
  103.     {"44889911501440648020369068063960672322193204149535"},\
  104.     {"41503128880339536053299340368006977710650566631954"},\
  105.     {"81234880673210146739058568557934581403627822703280"},\
  106.     {"82616570773948327592232845941706525094512325230608"},\
  107.     {"22918802058777319719839450180888072429661980811197"},\
  108.     {"77158542502016545090413245809786882778948721859617"},\
  109.     {"72107838435069186155435662884062257473692284509516"},\
  110.     {"20849603980134001723930671666823555245252804609722"},\
  111.     {"53503534226472524250874054075591789781264330331690"}};
  112.        
  113.         for(i=0;i<50;i++){                        //位数
  114.                 sum = carry;                         //累加位数
  115.                 carry = 0;                                //进位
  116.                 for(j=0;j<100;j++) sum += numbers[j][49 - i] - '0';
  117.                 carry = sum / 10;
  118.                 result[55 - i] = sum % 10 + '0';
  119.         }
  120. //012345尚未使用
  121.         for(i=0;carry;i++){
  122.                 result[5-i] = carry % 10 + '0';
  123.                 carry /= 10;
  124.         }

  125.         for(i=0;i<56;i++){
  126.                 if (result[i]!=0) printf("%c", result[i]);
  127.         }

  128.         return 0;
  129. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-30 06:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表