设为首页 加入收藏

TOP

最后一个非零数字(POJ 1604、POJ 1150、POJ 3406)(六)
2019-06-11 12:08:21 】 浏览:340
Tags:最后 一个 数字 POJ 1604 1150 3406
bsp;                cout<<5<<endl;

       }

       return 0;

}

      上面的源程序能正确运行,也可以正确得到结果。但将其提交给POJ测评系统,不能“Accepted”,评测结果显示为“Memory Limit Exceeded”,主要是动态数组分配超出了内存限制。因此,不能采用数组的方式来保存1~N序列中数字2、3、5、7、9的相关情况。如果对于每组测试数据,都采用循环计算序列n-m+1~n之间各数字中质因子2、5的个数及末位为3、7、9的个数,可编写如下的程序2。

      (3)评测结果显示为“Time Limit Exceeded”的源程序2。

#include<iostream>  

using namespace std;  

int main()

{

       int i,t,n,m,cnt2,cnt5,cnt3,cnt7,cnt9;

    int last[4][4] ={{6,2,4,8},{1,3,9,7},{1,7,9,3},{1,9,1,9}};  

       while (cin>>n>>m)

       {

             if (m == 0)

              {

                     cout<<"1"<<endl;

                     continue;

              }

        cnt2=cnt3=cnt5=cnt7=cnt9=0;

        for (i=n-m+1;i<=n;i++)

              {

                 t=i;

                 while (t%2==0)

                 {

                       cnt2++;

                       t=t/2;

                 }

                 while (t%5==0)

                 {

                       cnt5++;

                       t=t/5;

                 }

                 if (t%10==3)  cnt3++;

                   else if (t%10

首页 上一页 3 4 5 6 7 8 9 下一页 尾页 6/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Example: Getting WMI Data from .. 下一篇POJ中和质数相关的三个例题(POJ ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目