Project Euler -> problem 8

8.找出以下这个1000位的整数中连续5个数字的最大乘积。(例如前五个数字的乘积是7*3*1*6*7=882)

731671765313306249192251 196744265747423553491949 34
969835203127745063262395 783180169848018694788518 43
858615607891129494954595 017379583319528532088055 11
125406987471585238630507 156932909632952274430435 57
668966489504452445231617 318564030987111217223831 13
622298934233803081353362 766142828064444866452387 49
303589072962904915604407 723907138105158593079608 66
701724271218839987979087 922749219016997208880937 76
657273330010533678812202 354218097512545405947522 43
525849077116705560136048 395864467063244157221553 97
536978179778461740649551 492908625693219784686224 82
839722413756570560574902 614079729686524145351004 74
821663704844031998900088 952434506585412275886668 81
164271714799244429282308 634656748139191231628245 86
178664583591245665294765 456828489128831426076900 42
242190226710556263211111 093705442175069416589604 08
071984038509624554443629 812309878799272442849091 88
845801561660979191338754 992005240636899125607176 06
058861164671094050775410 022569831552000559357297 25
716362695618826704282524 836008232575304207529634 50
*/

int main(void)
{
      char ch;
      int i=0,prod,prod1=0;
      FILE *fp;
      fp = fopen("Number.txt","r");
      while(ch != EOF){
            prod=1;
            for(i=1,ch = getc(fp);i<=5;i++,ch = getc(fp)){
            prod *= (ch-48);
      }
      fseek(fp,-5L,SEEK_CUR);
      prod1 = prod>prod1?prod:prod1;
      }
      printf("The maximum produrt is:%d",prod1);

      return 0;
}

Answer:
40824
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值