zoukankan      html  css  js  c++  java
  • 对找数程序的理解

    经过几个小时的思考,总算是对老师出的这个程序题有了一定的了解。该C#程序是一个对数字进行查找的程序。程序清单如下:

    using System;

    using System.Collections.Generic;

    using System.Text;

    namespace FindTheNumber

    {
      class Program
      {
        static void Main(string[] args)
        {
          int [] rg =
              {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
               20,21,22,23,24,25,26,27,28,29,30,31};
          for (Int64 i = 1; i < Int64.MaxValue; i++)
          {
            int hit = 0;
            int hit1 = -1;
            int hit2 = -1;
            for (int j = 0; (j < rg.Length) && (hit <=2) ; j++)
            {
              if ((i % rg[j]) != 0)
              {
                hit++;
                if (hit == 1)
                {
                  hit1 = j;
                }
                else if (hit == 2)
                {
                  hit2 = j;
                }
                else
                  break;
              }

            }
            if ((hit == 2)&& (hit1+1==hit2))
            {
              Console.WriteLine("found {0}", i);
            }
          }
        }
      }
    }

    1、该程序的作用是进行查找一个能且仅能被两个在给定的数组中连续的数字不整除的数字,该数字的范围在-2^63~2^63直接的整数。给定的数组中的数字是2~31,从这里找连续的两个符合条件的整数,即rg数组。第一个for循环设定的是要找的这个数字的范围,第二个for循环设置的是查找两个整数,使其能够把数字i进行整除。而最后一个if语句的设定是保证找的数字是两个且能够使这两个数字能够是连续的,中间不间断。

    2、这样的数字估计不存在。在VS2015版本下运行该程序,经过了将近一个小时的运算仍然没有结果。

    4、在双核电脑下,应充分利用电脑的内存及处理器。让CPU进行并行处理任务的计算量。同时要想更高的利用内存以及CPU的性能最好还要修改一下程序的流程,更改程序数据结构,使其能够自动的利用较多的内存。

  • 相关阅读:
    写给Web开发人员看的Nginx介绍
    Nginx安装及配置详解
    Intellij IDEA 热部署处理
    JSP自定义标签就是如此简单
    过滤器入门看这一篇就够了
    Caffe FCN:可视化featureMaps和Weights(C++)、获取FCN结果
    Caffe RPN :error C2220: warning treated as error
    实例分割:MaskXRCnn 与Visual Genome数据集
    Detectron-MaskRCnn: 用于抠图的FCNN
    CaffeMFC:caffe.pb.h(2525): error C2059: syntax error : 'constant'
  • 原文地址:https://www.cnblogs.com/sunbuqiao/p/5296027.html
Copyright © 2011-2022 走看看