日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三次作业(二)

發布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三次作业(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作業題目如下:

閱讀下面程序,請回答以下問題:

問題1:這個程序要找的是符合什么條件的數?

問題2:這樣的數存在么?符合這一條件的最小的數是什么?

問題3:在電腦上運行這一程序,你估計多長時間才能輸出第一個結果?時間精確到分鐘(電腦:單核CPU 4.0G Hz,內存和硬盤等資源充足)。

問題4:在多核電腦上如何提高這一程序的運行效率?

(注:該程序、用C#語言編寫,但是只要有C語言基礎完全沒有閱讀壓力,如果對部分語句不懂請自行查詢)

將上述問題結果寫到博客上,截止時間本周日(3月19日)晚8時

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.是要找出的數,這個程序要找的是一個符合范圍是從1~2^63-1的數,其次找出一個數不能被數組rg中兩個相鄰的數整除且只能連續的兩個數不能被整除,余下的數能被整除 ,因為范圍很大,很難找住這個數;

2.這個數可能存在,由于運行時間過長,找不出結果;

3.通過運行程序可知,應該所需時間不短,至于計算方法我不知道怎么計算;

4.使用多核電腦時,應盡量少的啟動其它應用程序占用CPU,擴大CPU運行空間,從而使CPU可以提供更多的線程來運行這個程序,加快計算速度。

轉載于:https://www.cnblogs.com/fanxijiang/p/5296052.html

總結

以上是生活随笔為你收集整理的第三次作业(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。