/*! Ads Here */

Cho số từ nhiên n không quá 7 chữ số hay in ra giá trị gấp đôi của n Đầy đủ

Mẹo Hướng dẫn Cho số từ nhiên n không thật 7 chữ số hay in ra giá trị gấp hai của n 2022

Bạn đang tìm kiếm từ khóa Cho số từ nhiên n không thật 7 chữ số hay in ra giá trị gấp hai của n được Cập Nhật vào lúc : 2022-04-13 06:27:09 . Với phương châm chia sẻ Bí kíp về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read Post vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.

Nội dung chính

Chuyên mục: Bài tập C

B̀I 1.2.3: ĐOÁN SỐ TIẾP THEO An và Bình chơi trò chơi số học đơn thuần và giản dị. Dãy số mà An đưa ra là A = 1,1,3,4,5,9,7,16,9,…và đố Bình tìm ra số tiếp theo trong dãy đó. Rất nhanh gọn, Bình tìm kiếm được số tiếp theo là số 25. Bình đố lại An, nếu cho trước một số trong những k không thật 100, hãy tính số đứng vị trí đó trong dãy đã cho (thứ tự trên dãy tính từ là 1). Bạn hãy giúp An tính ra kết quả trên. Dữ liệu vào: Dòng đầu là số bộ test, không thật 20. Mỗi bộ test ghi trên một dòng số nguyên dương k. Kết quả:

Với mỗi bộ test, đưa ra trên một dòng giá trị ở vị trí k của dãy.

B̀I 1.1.8: MÁY BÁN H̀NG TỰ ĐỘNG Khi shopping bằng máy bán hàng tự động hóa, người tiêu dùng sẽ trả bằng một số trong những tiền chẵn lớn hơn hoặc bằng giá của thành phầm. Máy sẽ tính toán để trả lại số tiền thừa cho những người dân tiêu dùng. Giả sử trong máy chỉ có ba mệnh giá tiền là một trong dollar, 5 dollar và 10 dollar với quy ước mỗi lần trả chỉ được phép dùng thấp hơn 5 tờ 1 dollar và thấp hơn 2 tờ 5 dollar. Hãy viết chương trình tính số tiền mỗi loại mà máy bán hàng tự động hóa phải trả lại cho người tiêu dùng. Dữ liệu vào: Dòng thứ nhất là số bộ test, mỗi bộ test ghi trên một dòng hai số nguyên không âm là giá của thành phầm và tổng số tiền người tiêu dùng đưa vào. Cả hai giá trị này đều

không vượt quá 105

Kết quả: Với mỗi bộ test, viết ra màn biểu diễn số tiền cần trả của máy bán hàng tự động hóa theo mẫu trong bộ test ví dụ dưới đây. (Chú ý: Một trong những số và những dấu luôn có đúng một khoảng chừng trống, cả với dấu =, dấu * hoặc dấu +) Ví dụ cho Input và Output: Input 3 72 100 37 200

5 50

Output 28 = 2 * 10 + 1 * 5 + 3 * 1 163 = 16 * 10 + 0 * 5 + 3 * 1

45 = 4 * 10 + 1 * 5 + 0 * 1

code C : http://codepad.org/tZQuU9vw
.

B̀I 1.4.10: SẮP XẾP THÍ SINH Hãy sắp xếp list thí sinh đã có trong file theo tổng điểm giảm dần. Mỗi thí sinh gồm những thông tin:  Mã thí sinh: là một số trong những nguyên, tự động hóa tăng. Tính từ là 1.  Tên thí sinh, ngày sinh  Điểm môn 1, điểm môn 2, điểm môn 3 Dữ liệu vào: Dòng đầu chứa số thí sinh. Mỗi thí sinh viết trên 3 dòng:  Dòng 1: Tên thí sinh  Dòng 2: Ngày sinh  Dòng 3,4,5: 3 điểm thi tương ứng. Các điểm thi đều đảm bảo hợp lệ (từ 0 đến

10).

Kết quả: In ra list thí sinh đã sắp xếp theo tổng điểm giảm dần. Nếu 2 thí sinh bằng điểm nhau thì thí sinh nào xuất hiện trước trong file sẽ viết trước. Mỗi thí sinh viết trên một dòng gồm: mã, tên, ngày sinh và tổng điểm. Các thông tin cách nhau

đúng 1 khoảng chừng trống. Điểm tổng được làm tròn đến 1 số sau dấu phẩy.

http://codepad.org/shq26GhA

http://codepad.org/shq26GhA

B̀I 1.4.1: ĐẾM TỪ KHÁC NHAU Viết chương trình đếm số từ rất khác nhau của một file văn bản. Dữ liệu vào: Gồm nhiều dòng, chỉ gồm có những vần âm. Kết quả: Viết ra số từ rất khác nhau trong file. Ví dụ: Dữ liệu vào Xin chao cac ban Xin moi cac ban tap trung hoc

tap

Kết quả
8

http://codepad.org/e6hRJS4y

TÌM CÁC VỊ TRÍ BẰNG NHAU CỦA HAI MA TRẬN Cho hai ma trận vuông A và B chỉ gồm số nguyên dương cấp n . Hãy viết chương trình tìm ra những vị trí bằng nhau trong hai ma trận (vị trí [i,j] sẽ là bằng nhau nếu A[i,j]=B[i,j]). Dữ liệu vào: Dòng thứ nhất ghi số bộ test. Với mỗi bộ test: Dòng thứ nhất ghi số n; n dòng tiếp theo ghi ma trận A; n dòng tiếp theo ghi ma trận B Kết quả (ghi ra màn hình hiển thị): Với mỗi bộ test ghi ra một số trong những nguyên dương m là số vị trí bằng nhau. m dòng tiếp theo ghi hai giá trị chỉ số của từng cặp (cách nhau một khoảng chừng trống). (Chú ý: những

chỉ số đều tính từ 0 đến n-1).

Ví dụ: Input 1 2 1 1 1 2 9 1

4 2

Output

2

0 1
1 1

http://codepaste.net/7m7i2j

CHUẨN HÓA XÂU HỌ TÊN

Một xâu họ tên sẽ là viết chuẩn nếu vần âm thứ nhất mỗi từ được viết hoa, những chữ cái khác viết  thường. Các từ  cách nhau đúng một dấu cách và không còn tầm khoảng chừng trống thừa ở đầu và cuối xâu. Hãy viết chương trình đưa những xâu họ tên về dạng chuẩn. Dữ liệu vào: Dòng 1 ghi số bộ test. Mỗi bộ test ghi trên một dòng xâu ký tự họ tên, không thật 80 ký tự. Kết quả (ghi ra màn hình hiển thị): Với mỗi bộ test ghi ra xâu ký tự họ tên đã chuẩn hóa.

Ví dụ:

Ví dụ: Input 3 nGuYEN     vAN     naM tRan   TRUNG          hiEU

vO    le   hOA   bINh

Output Nguyen Van Nam Tran Trung Hieu

Vo Le Hoa Binh

http://codepad.org/hAgyAjgG

Xây dựng tập thao tác với những số nguyên lớn (nhiều hơn nữa 20 chữ số)

http://codepad.org/GfC3uw3g

Rất nhiều số nguyên dương hoàn toàn có thể được màn biểu diễn thành tổng của một dãy những số nguyên liên tục.

Ví dụ:

6 = 1 + 2 + 3

9 = 5 + 4 = 2 + 3 + 4

Tuy nhiên, số 8 thì lại không thể màn biểu diễn được như vậy. Bài toán nêu lên là với mỗi số nguyên cho trước, hãy đếm xem hoàn toàn có thể có bao nhiêu cách màn biểu diễn số nguyên đó thành tổng của những số nguyên dương liên tục.

Input: Dòng thứ nhất ghi số bộ test, không to nhiều hơn 1000. Mỗi bộ test gồm có thứ tự bộ test, tiếp theo là một số trong những nguyên dương n nhỏ hơn 231

Output: Với mỗi bộ test, in ra màn hình hiển thị thứ tự bộ test, tiếp theo là số cách màn biểu diễn tìm kiếm được

Example

Input: 7 1 6 2 9 3 8 4 1800 5 987654321 6 987654323 7 987654325 Output: 1 1 2 2 3 0 4 8 5 17 6 1 7 23

Ý tưởng

Nhận thấy tổng liên tục từ x đến y có y-x+1 thành phần bằng (y-x+1)(x+y)/2 = n nên (y-x+1)*(x+y) = 2n do đó ta kiểm tra những số là ước của 2n nhưng phải để ý quan tâm là y-x+1 và x+y khác tính chẵn lẻ và y-x+1< x+y. Bài toán đưa về đếm số cặp x.y=2n mà x và y khác tính chẵn lẻ và x

Nguồn

http://www.spoj.com/PTIT/problems/BCPTICH/

Code
http://ideone.com/yv4kel

Trong trò chơi dò mìn, người ta cho trước một ma trận cấp n*m trong số đó có một số trong những quả mìn ở những vị trí nào đó. Nhiệm vụ của người chơi là xác lập vị trí của những quả mìn này nhờ vào những ô xung quanh.

Trong bài này, bạn hãy viết chương trình chuyển từ ma trận n*m mô tả vị trí những quả mìn và những ô trống thành một ma trận khác trong số đó với mỗi ô trống sẽ xác lập xem có bao nhiêu quả mìn kề với nó.

Input: Có nhiều bộ test, mỗi bộ test khởi đầu bằng 2 số nguyên n và m (1<=n,m<=100). Tiếp Từ đó là ma trận cấp n*m trong số đó vị trí có mìn ghi lại bởi ký tự * còn không còn là dấu chấm (.). Dòng ở đầu cuối của file Input chứa hai giá trị 0.

Output: Với mỗi bộ test, in ra  màn  hình  ma trận tương ứng trong số đó những vị trí có dấu chấm được thay bằng một số trong những nguyên cho biết thêm thêm số quả mìn kề với ô đó.

Example

Input: 3 2 .. .* .. 5 5 *.*.* ..*.. ***** ..... ..**. 0 0 Output: 11 1* 11 *3*3* 36*63 ***** 24553 01**1

Ý tưởng: Duyệt và đếm

Nguồn

http://www.spoj.com/PTIT/problems/BCBOM/

Code

http://ideone.com/2n5Cxz

Một trò chơi được cho phép một người lựa chọn ra n số trong mức chừng từ là 1 đến m. Nếu list lựa chọn ra đó trùng với list như mong ước thì người này sẽ trúng thưởng.

Bình là một người chơi rất tự tin, anh ta nhận định rằng dãy số như mong ước thường có quy luật là số sau phải to nhiều hơn tối thiểu 2 lần so với số ngay trước nó trong list. Giả sử với n=4 và m=10 thì những dãy số như mong ước sẽ là:

1 2 4 8

1 2 4 9

1 2 4 10

1 2 5 10

Hãy viết chương trình giúp bình xác lập xem với những số nguyên n và m cho trước thì hoàn toàn có thể có bao nhiêu dãy số như mong ước theo quy luật trên.

Input: Dòng thứ nhất ghi số bộ test, không to nhiều hơn 100. Mỗi bộ test viết trên một dòng hai

số nguyên dương n và m. Giả sử n<=10, m<=2000 và n<=m.

Output: Với mỗi bộ test, in ra màn hình hiển thị 1 dòng theo như hình thức:

Data set i: n m number

Trong số đó number là số dãy số như mong ước tìm kiếm được

Example

Input: 1 4 10 Output: Data set 1: 4 10 4

Đặt số C[n][m] là kết quả của bài toán ta có

C[i][1]=0;

C[1][j]=j;

for(int i=2;i<=n;i++)

int k=pow(2,i-1);

for(int j=2;j

C[i][k]=1;

for(int j=i+1;j<=m;j++) C[i][j]=C[i][j-1]+C[i-1][j/2];

Nguồn

http://www.spoj.com/PTIT/problems/BCLULIST/

Code

http://ideone.com/ChRPMP

Khi shopping trên khu Long Street, Michael thường đỗ xe của tớ ở một vị trí nào đó và đi dạo vào shop. Bạn hãy giúp Michael chọn một chỗ đỗ xe để khoảng chừng cách phải đi dạo lúc shopping là nhỏ nhất.

Long Street hoàn toàn có thể coi như thể một đường thẳng mà toàn bộ những điểm shopping là những điểm có tọa độ nguyên. Bạn sẽ phải trả phí cho từng lần đỗ xe ở một điểm đỗ, điểm đỗ là một điểm có tọa độ nguyên. Michael không thích trả tiền đỗ xe nhiều hơn nữa 1 lần và vì anh ta rất khỏe nên hoàn toàn có thể mang toàn bộ những túi xách, thành phầm & hàng hóa mua được Một trong những shop cần đi mà không còn yếu tố gì.

Dữ liệu vào

Dòng thứ nhất chứa một số trong những nguyên 1 ≤ t ≤ 100 là số lượng bộ test. Mỗi bộ test gồm 2 dòng, dòng thứ nhất ghi số shop n mà Michael muốn qua shopping, 1 ≤ n ≤ 20 và dòng thứ hai ghi n số nguyên là những điểm này trên phố Long Street, 0 ≤ xi ≤ 99.

Dữ liệu ra

Với mỗi bộ test, in ra trên một dòng khoảng chừng cách nhỏ nhất phải đi dạo với chỗ đỗ xe tối ưu.

INPUT OUTPUT 2

4

24 13 89 37

6

7 30 41 14 39 42

152

70

Ý tưởng

Đọc đề có vẻ như rắc rối nhưng xét cho cùng đỗ xe bất kể nơi nào thì cũng phải đi một vòng về đầu rồi vòng về cuối và vòng lại xe nên quãng đường sẽ bằng 2*(max-min)

Nguồn

http://www.spoj.com/PTIT/problems/BCCAR/

Code

http://ideone.com/pD9RwC

Cho một list những số điện thoại, hãy xác lập list này còn có số điện thoại nào là phần trước của số khác hay là không? Nếu không thì list này được gọi là nhất quán. Giả sử một list có chứa những số điện thoại sau:

–          Số khẩn cấp:  911

–          Số của Alice: 97625999

–          Số của Bob:   91125426

Trong trường hợp này, ta không thể gọi cho Bob vì tổng đài sẽ link bạn với đường dây khẩn cấp ngay lúc bạn quay 3 số đầu trong số của Bob, vì vậy list này là không nhất quán.

Dữ liệu vào

Dòng thứ nhất chứa một số trong những nguyên 1 ≤ t ≤ 40 là số lượng bộ test. Mỗi bộ test sẽ khởi đầu với số lượng số điện thoại n được ghi trên một dòng, 1 ≤ n ≤ 10000. Sau đó là n dòng, mỗi dòng ghi duy nhất 1 số điện thoại. Một số điện thoại là một dãy không thật 10 chữ số.

Dữ liệu ra

Với mỗi bộ tài liệu vào, in ra “YES” nếu list nhất quán và “NO” trong trường hợp ngược lại.

Ý tưởng: Dùng cấu trúc tài liệu cây thập phân để tàng trữ và kiểm tra

Nguồn

http://www.spoj.com/PTIT/problems/BCTELEPH/

Code

http://ideone.com/e.js/A15Vb4

http://ideone.com/A15Vb4

Trong cuộc thi ACM, những đội tranh tài với nhau. Thứ hạng của mỗi đội tùy từng: số lượng bài giải được và số điểm bị phạt (điểm phạt tùy từng thời hạn và số lần nộp bài trước lúc bài này được giải đúng). Điểm phạt bằng thời hạn nộp bài đúng cộng với 20 phút cho từng lần nộp sai. Nếu một bài không giải được thì những lần nộp sai bài đó không biến thành tính điểm phạt. Như vậy nếu đội giải đúng vào lần nộp thứ hai, sau 20 phút thì điểm phạt sẽ là 40 điểm. Đội thắng là đội giải được nhiều nhất, nếu có nhiều đội có số bài giải giống nhau thì đội bị phạt thấp hơn sẽ giành thắng lợi.

Input: Cuộc thi ACM lần này chỉ có 4 bài.

Dòng 1: số n tương ứng với số đội thi

Dòng 2 đến dòng n+1: Mỗi dòng ghi

….

Thành phần thứ nhất là tên thường gọi đội, không chứa dấu cách. Sau đó là thông tin về đội đó: p1Sub số lần đội nộp lời giải cho bài 1, p1Time là thời gian đội nộp đúng, nếu đội không giải đúng được bài 1 thì p1Time=0, tương tự với 3 bài còn sót lại.

Output: Ghi tên đội thắng, số bài giải được, số điểm phạt

Ví dụ cho Input và Output:

INPUT OUTPUT 4

Stars 2 20 5 0 4 190 3 220

Rockets 5 180 1 0 2 0 3 100

Penguins 1 15 3 120 1 300 4 0

Marsupials 9 0 3 100 2 220 3 80

Penguins 3 475

Ý tưởng:

Dùng vòng lặp duyệt và tính theo công thức

Nguồn

http://www.spoj.com/PTIT/problems/BCTHIDAU/

Code

http://ideone.com/e.js/YyOPMX

http://ideone.com/YyOPMX

Cho dãy số nguyên A N thành phần, thỏa mãn nhu cầu:

–          Các thành phần có mức giá trị từ 1 đến N.

–          Các thành phần có mức giá trị đôi một rất khác nhau.

Một dãy con của dãy A là dãy được tạo thành từ dãy A bằng phương pháp xóa một số trong những thành phần liên tục (hoặc không thành phần nào) từ trên đầu dãy và cuối dãy A.

Ví dụ: Với dãy 5, 7, 2, 4, 3, 1, 6. Ta hoàn toàn có thể có một số trong những dãy con (chưa phải toàn bộ):

–          7,2,4,3 bằng phương pháp xóa 1 thành phần từ trên đầu và 2 thành phần từ lúc cuối

–          5,7,2 bằng phương pháp xóa 0 thành phần từ trên đầu và 4 thành phần từ lúc cuối

–          5,7,2,4,3,1,6 bằng phương pháp xóa 0 thành phần từ trên đầu và 0 thành phần từ lúc cuối.

–          1 bằng phương pháp xóa 5 thành phần từ trên đầu và 1 thành phần từ lúc cuối.

–          ……………..

Ta nói thành phần trung vị của dãy C có độ dài M (M là số lẻ) là thành phần ở vị trí ở chính giữa của dãy sau khi đã sắp xếp dãy C theo thứ tự tăng dần. Ví dụ: Phần tử trung vị của dãy 5,1,3 là 3.

Yêu cầu: Tìm số dãy con của Ađộ dài lẻthành phần trung vị là số B.

Dữ liệu:

–          Dòng 1: Hai số nguyên N (1≤N≤100 000) và số B (1≤B≤N).

–          Dòng 2: chứa N số nguyên cách nhau bởi dấu cách lần lượt là những thành phần của dãy A.

Kết quả:

–          Dòng 1:Số nguyên duy nhất là số dãy con của A có độ dài lẻ và có thành phần trung vị là B.

Ví dụ:

INPUT OUTPUT 5 4

1 2 3 4 5

2 INPUT OUTPUT 6 3

1 2 4 5 6 3

1 INPUT OUTPUT 7 4

5 7 2 4 3 1 6

4

Giải thích test số ba: 4 dãy con của dãy A có độ dài lẻ và thành phần trung vị là 4 là: 4, 7,2,4, 5,7,2,4,3, 5,7,2,4,3,1,6.

Ý tưởng

Bước 1. Tạo một mảng a nhận những giá trị 1,-1 bằng phương pháp dyệt toàn dãy gặp thành phần to nhiều hơn b thì a[i]=1 nhỏ hơn b thì a[i]=-1

Bước 2. Tìm vị trí của b trong dãy là k và có a[k]=0.

Nhiệm vụ giờ đấy là tìm vị trí toàn bộ những cặp L,R sao cho L<=k, R>=k mà tổng dãy a từ L tới R bằng 0 như sau

Bước 3. Tạo ra 4 mảng LDuong, LAm, RDuong, RAm đều phải có n thành phần ban đầu toàn 0.

Bước 4. (xác lập RDuong, RAm) Xét vị trí từ k+1 tới n ta tính tổng từ a[k+1] tới a[i] nếu tổng bằng 0 thì đếm vào R, nếu tổng ra giá trị x ta xét 2 kĩ năng còn sót lại x >0 thì đếm vào dãy RDuong[x] tăng thêm ngược lại RAm[-x] tăng thêm

Bước 5. (xác lập LDuong, LAm) Xét vị trí từ k-1 tới 1 ta tính tổng từ a[k-1] lùi tới a[i] nếu tổng bằng 0 thì đếm vào L, nếu tổng ra giá trị x ta xét 2 kĩ năng còn sót lại x >0 thì đếm vào dãy LDuong[x] tăng thêm ngược lại LAm[-x] tăng thêm

Bước 6. Kết quả gồm có một là chính mỗi số b, và cặp 0 bên trái ghép với 0 bên phải là L*R và cặp từ k tới vị trí 0 bên phải là R và từ 0 bên trái tới k là L (ban đầu K=1+L*R+R+L) tiếp theo đó thêm vào đó những cặp có tổng bằng 0 bằng phương pháp ghép tổng i bên trái với -i bên phải và i bên phải với -i bên trái K=K+LAm[i]*RDuong[i]+LDuong[i]+RAm[i]

Nguồn

http://www.spoj.com/PTIT/problems/BCTEST16/

Code

http://ideone.com/gBJKIx

Cho một chuỗi nhị phân có n phần từ: x1, x2, x3, …, xn. Giá trị đếm bít liền kề được định nghĩa theo công thức:

AdjBC(x) = x1*x2 + x2*x3 + … + xn-1*xn.

tức là đếm những bít 1 mà bít liền kề cũng là bít 1.

Ví dụ:

AdjBC(011101101) = 3

AdjBC(111101101) = 4

AdjBC(010101010) = 0

Viết chương trình nhận vào hai số nguyên n và k và trả về số những xâu nhị phân x có n thành phần mà AdjBC(x) = k.

Ví dụ với n=5, k=2, ta có 6 xâu nhị phân độ dài 5 có AdjBC(x) = 2 là: 11100, 01110, 00111, 10111, 11101, 11011.

Dữ liệu vào:

Dòng thứ nhất ghi số 1<= n <=1000 là số bộ Test.

Mỗi bộ Test ghi trên một dòng khởi đầu là số thứ tự bộ test, tiếp theo đó là hai số nguyên dương n và k với n không to nhiều hơn 100, k

Dữ liệu ra:

Với mỗi bộ test, ghi trên một dòng: số thứ tự bộ test, tiếp theo là số xâu nhị phân độ dài n có AdjBC(x) = k.

Ví dụ cho Input và Output:

INPUT OUTPUT 10

1 5 2

2 20 8

3 30 17

4 40 24

5 50 37

6 60 52

7 70 59

8 80 73

9 90 84

10 100 90

1 6

2 63426

3 1861225

4 168212501

5 44874764

6 160916

7 22937308

8 99167

9 15476

10 23076518

Ý tưởng: Quy hoạch động hay Lập trình động (Dynamic Programming)

Đặt C[n][k] là số những xâu có độ dài n và có k số 1 đứng kề ngay sau số 1 tìm công thức truy hồi tính C[n][k]. (xem code)

Nguồn

http://www.spoj.com/PTIT/problems/BCBIT/

Code

http://ideone.com/75HDo2

Một đoạn số có tổng bằng nhau trong một dãy số là một nhóm những số theo như đúng thứ tự ban đầu trong dãy mà nếu nhóm với nhau thì sẽ cho ra cùng một giá trị tổng. Ví dụ với dãy: 2 5 1 3 3 7 thì ta hoàn toàn có thể nhóm thành: (2 5) (1 3 3) (7) cùng cho giá trị tổng là 7.

Chú ý: đoạn đặc biệt quan trọng chứa toàn bộ những thành phần của dãy cũng khá sẽ là một đoạn có tổng bằng nhau với chính giá trị tổng những số của dãy đó.

Yêu cầu: viết chương trình nhận vào những dãy số nguyên dương và trả về giá trị tổng nhỏ nhất hoàn toàn có thể của một đoạn tổng bằng nhau trong dãy.

Dữ liệu vào

Dòng thứ nhất chứa một số trong những nguyên 1 ≤ t ≤ 1000 là số lượng bộ test. Mỗi bộ test gồm có:

  • Dòng thứ nhất chứa thứ tự bộ test và số M (1≤ M ≤ 10000) là số thành phần của dãy.
  • Các dòng tiếp theo mỗi dòng ghi 10 số của dãy phân cách bởi 1 dấu cách. Dòng ở đầu cuối hoàn toàn có thể có thấp hơn 10 số.  (Các số trong dãy đều nhỏ hơn 20000).

Dữ liệu ra

Với mỗi bộ test, in ra trên một dòng gồm số thứ tự bộ test và tổng nhỏ nhất hoàn toàn có thể đạt được của những đoạn số có tổng bằng nhau.

Ý tưởng:

Bước 1: Đặt lại tổng

a[1]=a[1];

a[2]=a[1]+a[2];

a[3]=a[1]+a[2]+a[3]

a[n]= a[1]+a[2]+ … + a[n]

Bước 2: Gọi S=a[n] ta duyệt từ trên đầu đến dãy nếu nơi nào S chia hết cho a[i] thì tức là hoàn toàn có thể phân dãy ra những đoạn bằng nhau có tổng là a[i] (thực ra a[1]+…+a[i]) ta kiểm tra xem có đúng như vậy không thông qua vòng lặp tạo ra dãy a[i], a[i]*2 … a[i]*k=S, nếu vượt quá số thứ tự thì dừng không thỏa mãn nhu cầu, nếu tìm kiếm được thì xuất a[i]

Bước 3: Nếu không còn thành phần nào thỏa mãn nhu cầu thì xuất ra S là toàn dãy

Nguồn

http://www.spoj.com/PTIT/problems/BCSEQ1/

Code

http://ideone.com/MZ1axj

Penny Game là một trò chơi đơn thuần và giản dị cho hai người chơi. Trò chơi này yêu cầu từng người chơi chọn một dãy duy nhất ba mặt đồng xu ví như HEADS TAILS HEADS (HTH). Các đồng xu sẽ tiến hành tung liên tục cho cho tới lúc xuất hiện một trong hai dãy đã được chọn lúc đầu. Người chơi nào chọn được dãy xuất hiện thứ nhất sẽ là người thắng cuộc.

Bạn hãy viết một chương trình đọc một chuỗi 40 giá trị tung đồng xu liên tục và xác lập mỗi một chuỗi ba mặt đồng xu xuất hiện bao nhiêu lần. Hiển nhiên, ta sẽ có được 8 chuỗi 3 mặt đồng xu lần lượt là: TTT, TTH, THT, THH, HTT, HTH, HHT và HHH. Các chuỗi này hoàn toàn có thể xếp chồng lên nhau. Ví dụ ta có 40 xu liên tục ở mặt HEADS thì sẽ có được 38 chuỗi HHH xuất hiện

Dữ liệu: Dòng thứ nhất ghi số 1 ≤ P ≤ 1000 là tổng số bộ test. Mỗi bộ test gồm 2 dòng:

  • Dòng thứ nhất chứa số N là thứ tự bộ test.
  • Dòng thứ hai là dãy 40 ký tự mô tả chuỗi giá trị tung đồng xu trong số đó chỉ gồm hai ký tự là H và T. Không có bất kể dấu cách nào trong những dòng tài liệu vào.

Kết quả: Ghi ra màn hình hiển thị một dòng cho từng bộ test trong số thứ nhất là thứ tự bộ test. Tiếp theo là 8 số cho biết thêm thêm số lần xuất hiện của mỗi chuỗi 3 đồng xu theo thứ tự ở trên. Mỗi số viết cách nhau một dấu cách. Sẽ có 9 dấu cách trong mọi dòng kết quả.

Example

Input:

4

1

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

2

TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT

3

HHTTTHHTTTHTHHTHHTTHTTTHHHTHTTHTTHTTTHTH

4

HTHTHHHTHHHTHTHHHHTTTHTTTTTHHTTTTHTHHHHT

Output:

1 0 0 0 0 0 0 0 38

2 38 0 0 0 0 0 0 0

3 4 7 6 4 7 4 5 1

4 6 3 4 5 3 6 5 6

Ý tưởng

Sử dụng một ôtômat có 4 trạng thái A,B,C,D ghi lại là đang ở đi được 2 ký tự nào, mọi khi đi thêm một ký tự thì tùy từng sẽ cộng vào bộ tương ứng và chuyển trạng thái ôtômat

Nguồn

http://www.spoj.com/PTIT/problems/BCPENNY/

Code

http://ideone.com/zoQy9I

Share Link Tải Cho số từ nhiên n không thật 7 chữ số hay in ra giá trị gấp hai của n miễn phí

Bạn vừa Read nội dung bài viết Với Một số hướng dẫn một cách rõ ràng hơn về Review Cho số từ nhiên n không thật 7 chữ số hay in ra giá trị gấp hai của n tiên tiến và phát triển nhất Chia Sẻ Link Down Cho số từ nhiên n không thật 7 chữ số hay in ra giá trị gấp hai của n Free.

Giải đáp vướng mắc về Cho số từ nhiên n không thật 7 chữ số hay in ra giá trị gấp hai của n

Nếu sau khi đọc nội dung bài viết Cho số từ nhiên n không thật 7 chữ số hay in ra giá trị gấp hai của n vẫn chưa hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Tác giả lý giải và hướng dẫn lại nha #Cho #số #từ #nhiên #không #quá #chữ #số #hay #giá #trị #gấp #đôi #của

*

Đăng nhận xét (0)
Mới hơn Cũ hơn

Responsive Ad

/*! Ads Here */

Billboard Ad

/*! Ads Here */