Trang 3 trên tổng số 3 Đầu tiênĐầu tiên 123
Từ 21 tới 27 trên tổng số 27 kết quả

Đề tài: chuyển chuỗi thành số

  1. #21
    Ngày gia nhập
    07 2016
    Bài viết
    424

    Mặc định chuyển chuỗi thành số

    Test thử lại :

    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Text;
    7. using System.Windows.Forms;
    8. using System.Diagnostics;
    9.  
    10. namespace BaiToanQuangCongTrungBangTaySon1
    11. {
    12.     public partial class Form1 : Form
    13.     {
    14.         static void Main(){
    15.             //new Form1();
    16.             //
    17.             new QuangCongTrungBangTaySon().TinhToan();
    18.         }
    19.        
    20.         public Form1()
    21.         {
    22.             //InitializeComponent();          
    23.         }
    24.        
    25.         protected override void OnLoad(EventArgs e)
    26.         {
    27.             base.OnLoad(e);
    28.             QuangCongTrungBangTaySon baitoan = new QuangCongTrungBangTaySon();
    29.             //baitoan.TinhToan(0);
    30.             DateTime GioBatDau = DateTime.Now;
    31.             baitoan.TinhToan();
    32.             DateTime GioKetThuc = DateTime.Now;
    33.             string s1 = GioBatDau.ToString();
    34.             string s2 = GioKetThuc.ToString();
    35.             TimeSpan KeoDai = GioKetThuc - GioBatDau;
    36.             string s3 = "Keo dai trong " + KeoDai.Milliseconds .ToString() + " mili giay hay " + KeoDai.Minutes.ToString() + " phut";
    37.             Debug.WriteLine(s1);
    38.             Debug.WriteLine(s2);
    39.             Debug.WriteLine(s3);
    40.             //MessageBox.Show(s1 + "\r\n" + s2 + "\r\n" + s3);
    41.         }
    42.        
    43.         public class QuangCongTrungBangTaySon
    44.         {
    45.             List<int> CacChuSo = new List<int>();
    46.             List<int> CacKyTuSo = new List<int>();
    47.             int Q, U, A, N, G, T, R, Y, S, O;
    48.             int[] Nho = new int[5];
    49.            
    50.             public QuangCongTrungBangTaySon()
    51.             {
    52.                 for (int i = 0; i <= 9; i++)
    53.                 {
    54.                     CacChuSo.Add(i);
    55.                 }
    56.                 CacKyTuSo.AddRange(new int[] {Q, U, A, N, G, T, R, Y, S, O});
    57.             }
    58.             public void TinhToan()
    59.             {
    60.                 DateTime bGioBatDau = DateTime.Now;
    61.                 DateTime bGioKetThuc;
    62.                 for (G = 0; G < 10; G++)
    63.                 {
    64.                     CacChuSo.Remove(G);
    65.                     N = G + G;
    66.                     Nho[1] = 0;
    67.                     if (CacChuSo.Contains(N %10))
    68.                     {
    69.                         if (N >= 10)
    70.                         {
    71.                             Nho[1] = 1;
    72.                             N %= 10;
    73.                         }
    74.                         CacChuSo.Remove(N);
    75.                         O = N + N+Nho[1];
    76.                         Nho[2] = 0;
    77.                         if (CacChuSo.Contains(O % 10))
    78.                         {
    79.                             if (O >= 10)
    80.                             {
    81.                                 Nho[2] = 1;
    82.                                 O %= 10;
    83.                             }
    84.                             CacChuSo.Remove(O);
    85.                             for (A = 0; A < 10; A++)
    86.                             {
    87.                                 if (CacChuSo.Contains(A))
    88.                                 {
    89.                                     CacChuSo.Remove(A);
    90.                                     for (U = 0; U < 10; U++)
    91.                                     {
    92.                                         if (CacChuSo.Contains(U))
    93.                                         {
    94.                                             CacChuSo.Remove(U);
    95.                                             S = A + U+Nho[2];
    96.                                             Nho[3] = 0;
    97.                                             if (CacChuSo.Contains(S % 10))
    98.                                             {
    99.                                                 if (S >= 10)
    100.                                                 {
    101.                                                     Nho[3] = 1;
    102.                                                     S %= 10;
    103.                                                 }
    104.                                                 CacChuSo.Remove(S);
    105.                                                 for (R = 0; R < 10; R++)
    106.                                                 {
    107.                                                     if (CacChuSo.Contains(R))
    108.                                                     {
    109.                                                         CacChuSo.Remove(R);
    110.                                                         Y = U + R + Nho[3];
    111.                                                         Nho[4] = 0;
    112.                                                         if (CacChuSo.Contains(Y % 10))
    113.                                                         {
    114.                                                             if (Y >= 10)
    115.                                                             {
    116.                                                                 Nho[4] = 1;
    117.                                                                 Y %= 10;
    118.                                                             }
    119.                                                             CacChuSo.Remove(Y);
    120.                                                             if (!CacChuSo.Contains(0))
    121.                                                             {
    122.                                                                 for (Q = 1; Q < 10; Q++)
    123.                                                                 {
    124.                                                                     if (CacChuSo.Contains(Q))
    125.                                                                     {
    126.                                                                         CacChuSo.Remove(Q);
    127.                                                                         T = CacChuSo[0];
    128.                                                                         if (Q + T + Nho[4] == 10 * T + A)
    129.                                                                         {
    130.                                                                             bGioKetThuc = DateTime.Now;
    131.                                                                             string s1=" " + Q.ToString() + U.ToString() + A.ToString() + N.ToString() + G.ToString();
    132.                                                                             string s2 = " " + T.ToString() + R.ToString() + U.ToString() + N.ToString() + G.ToString();
    133.                                                                             string s3 = T.ToString() + A.ToString() + Y.ToString() + S.ToString() + O.ToString() + N.ToString();
    134.                                                                             string s4 = "Có kết quả trong " + (bGioKetThuc - bGioBatDau).Milliseconds.ToString() +" mili giây tính toán";
    135.                                                                             Debug.WriteLine(s1);
    136.                                                                             Debug.WriteLine(s2);
    137.                                                                             Debug.WriteLine(s3);
    138.                                                                             MessageBox.Show(s1 + "\r\n" + s2 + "\r\n" + s3+"\r\n"+s4);
    139.                                                                             bGioBatDau = DateTime.Now;
    140.                                                                         }
    141.                                                                         CacChuSo.Add(Q);
    142.                                                                     }
    143.                                                                 }
    144.                                                             }
    145.                                                             CacChuSo.Add(Y);
    146.                                                         }
    147.                                                         CacChuSo.Add(R);
    148.                                                     }
    149.                                                 }
    150.                                                 CacChuSo.Add(S);
    151.                                             }
    152.                                             CacChuSo.Add(U);
    153.                                         }
    154.                                     }
    155.                                     CacChuSo.Add(A);
    156.                                 }
    157.                             }
    158.                             CacChuSo.Add(O);
    159.                         }
    160.                         CacChuSo.Add(N);
    161.                     }
    162.                     CacChuSo.Add(G);
    163.                 }
    164.                 bGioKetThuc = DateTime.Now;
    165.                 string s = "Đã tính toán xong. Kéo dài trong " + (bGioKetThuc - bGioKetThuc).Milliseconds.ToString() + " mili giây";
    166.                 MessageBox.Show(s);
    167.             }
    168.         }
    169.     }
    170. }

    Output, của CT :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		27mSec.jpg
Lần xem:	0
Size:		7.7 KB
ID:		48275

    Hoặc lâu hơn
    Bắc thang lên hỏi ông giời
    Tiền vàng giao đoảng có đòi được không ?

  2. #22
    Ngày gia nhập
    08 2017
    Bài viết
    708

    Không dùng NNLT, giải bằng tay, với tờ giấy và bút viết 2 màu:
    Code:
      quang
    +
      trung
    ───────
     tayson
    (*01) Bài toán có 10 ký tự {q, u, a, n, g, t, r, y, s, o} khác nhau, có thể tương ứng với 10 chữ số {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} của hệ thập phân
    //Nếu có nhiều hơn 10 ký tự khác nhau bài toán vô nghiệm (2 ký tự khác nhau cùng 1 giá trị - chữ số)

    (*02) q, t khác 0

    (*03) Hàng đơn vị: g + g =*n (có nhớ hoặc không), n là chữ số chẵn

    (*04) tayson = quang + trung < 99.999 + 99.999 = 199.998, t (trong tayson) khác 0, nên t = 1
    Code:
      quang
    +
      1rung
    ───────
     1ayson
    (*05a) 1ayson = quang + 1rung < 99.999 + 19.999 < 119.998, a (trong 1ayson) khác t, nên a = 0 và
    (*05b) q là {8 hoặc 9}
    Code:
      qu0ng
    +
      1rung
    ───────
     10yson
    (*06) Ở hàng trăm, 0ng + ung = son, có nhớ từ hàng chục, nên s = u + 1, n là {6 hoặc 8}
    ...

  3. #23
    Ngày gia nhập
    08 2017
    Bài viết
    708

    ...
    (*06) Ở hàng trăm, 0ng + ung = son, có nhớ từ hàng chục, nên s = u + 1, n là {6 hoặc 8}

    (*07a) Nếu q = 8 thì n = 6 và g = 3 (loại bỏ g = 8, trùng với q)
    Code:
      8u063
    +
      1ru63
    ───────
     10ys26
    và u = 4, s = 5
    Code:
      84063
    +
      1r463
    ───────
     10y526
    Với 2 chữ số còn lại {7 và 9}
    + r = 7, y trùng với t
    + r = 9, y trùng với g
    không thỏa mãn (loại bỏ), q = 9
    ...

  4. #24
    Ngày gia nhập
    08 2017
    Bài viết
    708

    ...
    không thỏa mãn (loại bỏ),
    q = 9

    (*07b) nếu n = 6, g là {3 hoặc 8} và o = {2 hoặc 3}
    Code:
      9u063			  9u068
    +				+
      1ru63			  1ru68
    ───────			───────
     10ys26			 10ys36
    (*07b1) với u = 4, s = 5 thì với 2 chữ số còn lại {2 và 7} không thỏa mãn
    + r = 2, y trùng với n
    + r = 7, y trùng với t
    Code:
      94068
    +
      1r468
    ───────
     10y536
    ...

  5. #25
    Ngày gia nhập
    08 2017
    Bài viết
    708

    ...
    (*07b2) với u = 4, s = 5 thì với 2 chữ số còn lại {7 và 8} không thỏa mãn
    + r = 7, y trùng với t
    + r = 8, y trùng với o
    Code:
      94063
    +	
      1r463
    ───────
     10y526
    (*07b3) với u = 7, s = 8 thì với 2 chữ số còn lại {4 và 5} không thỏa mãn
    + r = 4, y trùng với t
    + r = 5, y trùng với o
    Code:
      97063
    +	
      1r763
    ───────
     10y826
    ...

  6. #26
    Ngày gia nhập
    08 2017
    Bài viết
    708

    Mặc định chuyển chuỗi thành số

    ...
    (*07c) nếu n = 8, g = 4 (loại bỏ g = 9, trùng với q} và o = 6
    Code:
      9u084
    +
      1ru84
    ───────
     10ys68
    (*08) với u = 2, s = 3
    Code:
      92084
    +
      1r284
    ───────
     10y368
    ...

  7. #27
    Ngày gia nhập
    08 2017
    Bài viết
    708

    (*09) với r = 5 (loại bỏ r = 7, y trùng q), y = 7
    Code:
      92084
    +
      1r284
    ───────
     10y368
    (*10) Kết quả thỏa mãn
    Code:
      92084
    +
      15284
    ───────
     107368
    Trích dẫn Nguyên bản được gửi bởi CoViet-Plus005 Xem bài viết
    ...
    Đây là bài toán thi học sinh giỏi toàn quốc, khối lớp 9, năm 1979
    Theo trên (#14), bài toán trong đề thi 39 năm trước, thời gian làm bài không nhiều.
    Nhiều năm đã trôi qua, nhiều người đã biết, tất có bài giải hay hơn, đúng với đáp án hơn.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn