K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

Các nhà sinh học phát hiện ra một loại chuỗi DNA lạ. Nó được mô tả như một chuỗi gồm 𝒏 ký tự xây dựng từ tập {𝑨,𝑩}. Một chuỗi DNA không thể đột biến được nữa nếu chuỗi đó chỉ gồm toàn ký tự A. Ví dụ chuỗi 𝑨𝑨𝑨 là một chuỗi không thể đột biến nữa. Các nhà sinh học phát hiện ra điều kỳ lạ này và đã tiến hành nghiên cứu chi tiết hơn. Họ phát hiện ra chỉ có hai loại đột biến cho loại DNA này. Loại đột biến thứ nhất là hoán đổi một ký tự bất kỳ của chuỗi theo quy tắc 𝑨 → 𝑩 hoặc B → A. Loại đột biến thứ hai thay đổi tiền tố của chuỗi. Cụ thể là thay đổi tất cả các ký tự từ vị trí 1 đến vị trí 𝒌 (𝟏 ≤ 𝒌 ≤ 𝒏) với quy tắc 𝑨 → 𝑩 hoặc B → A.
Yêu cầu: Hãy tính số phép đột biến ít nhất để biến đổi một chuỗi DNA ban đầu sang chuỗi DNA kết thúc chỉ chứa toàn ký tự 𝑨. Đây là loại chuỗi DNA không thể đột biến được nữa.
Dữ liệu: Vào từ file văn bản DNA.INP: - Dòng đầu tiên chứa số nguyên 𝒏 với 1 ≤ 𝑛 ≤ 106; - Dòng thứ hai chứa xâu ký tự 𝒔 chỉ trạng thái đầu tiên của chuỗi DNA.
Kết quả: Đưa ra file văn bản DNA.OUT gồm 1 dòng duy nhất ghi số lần biến đổi ít nhất để đưa chuỗi DNA từ trạng thái 𝒔 về trạng thái không đột biến được nữa.
Ví dụ:

DNA.INP DNA.OUT

4

ABBA

2

12

AAABBBAAABBB

4


1
12 tháng 9 2019

mk xin chia sẻ code nhé:

#include<cstdio> inline int min( int a, int b ) { return a>b?b:a; } char s[1000005]; int f[1000005], g[1000005]; int main() { int n; scanf("%d", &n); scanf("%s", s); f[0] = g[0] = 0; for(int i=0; i<n; i++) if( s[i] == 'A' ) { f[i+1] = f[i]; g[i+1] = 1 + min( f[i], g[i] ); } else { g[i+1] = g[i]; f[i+1] = 1 + min( f[i], g[i] ); } printf("%d\n", f[n]); }

uses crt;
var s,st:string;
dem,d,i,dai,x,j,tam:integer;
a:array[1..255]of string;
b:array[1..255]of integer;
begin
clrscr;
write('nhap xau S:'); readln(s);
d:=length(s);
dem:=0;
st:='';
for i:=1 to d do
begin
if s[i] in ['A'..'z'] then
begin
s[i]:=upcase(s[i]);
st:=st+s[i];
end;
if s[i] in ['0'..'9'] then
begin
dem:=dem+1;
a[dem]:=s[i];
end;
end;
writeln('chuoi ki tu chu cai trong xau S sau khi da bien doi la: ');
dai:=length(st);
for i:=1 to dai do
write(st[i]);
writeln;
for i:=1 to dem do
val(a[i],b[i],x);
for i:=1 to dem-1 do
for j:=i+1 to dem do
if b[i]>b[j] then
begin
tam:=b[i];
b[i]:=b[j];
b[j]:=tam;
end;
writeln('chuoi ki tu chu so trong xau S sau khi da sap xep tang dan la: ');
for i:=1 to dem do
write(b[i]:4);
readln;
end.

Câu 1:         Viết chương trình có một chuỗi kí tự gồm chữ cái, chữ số và khoảng cách và thực hiện:a.  Trong chuỗi kí tự có bao nhiêu kí tự số?b. Tính tổng các chữ số.c.  Xuất ra tất cả kí tự chữ có trong chuỗi theo thứ tự vừa nhập.-    Yêu cầu: Cho trước một chuỗi kí tự S chỉ gồm chữ cái, chữ số và khoảng cách trên một dòng. Hãy thực hiện các yêu cầu trên.-    Dữ liệu vào: Nhập từ bàn phím gồm...
Đọc tiếp

Câu 1:

         Viết chương trình có một chuỗi kí tự gồm chữ cái, chữ số và khoảng cách và thực hiện:

a.  Trong chuỗi kí tự có bao nhiêu kí tự số?

b. Tính tổng các chữ số.

c.  Xuất ra tất cả kí tự chữ có trong chuỗi theo thứ tự vừa nhập.

-    Yêu cầu: Cho trước một chuỗi kí tự S chỉ gồm chữ cái, chữ số và khoảng cách trên một dòng. Hãy thực hiện các yêu cầu trên.

-    Dữ liệu vào: Nhập từ bàn phím gồm một dòng ghi chuỗi kí tự S (có độ dài không quá 255 ký tự). Giả thiết dữ liệu được nhập đúng đắn, không cần kiểm tra

-    Kết quả: In ra màn hình theo cấu trúc sau:

+ Dòng 1: Ghi có bao nhiêu kí tự số

+ Dòng 2: Ghi tổng các chữ số

+ Dòng 3: Ghi tất cả các kí tự chữ cái trong chuỗi

Câu 2:

         Một dãy số gồm N số nguyên dương . Tính tổng các phần tử có trong dãy số, in ra số lần xuất hiện các phần tử có trong dãy số.

-    Yêu cầu: Cho một dãy số gồm N số nguyên dương. Hãy thực hiện các yêu cầu trên. Giả thiết dữ liệu được nhập đúng đắn, không cần kiểm tra

-    Dữ liệu vào: Nhập từ bàn phím có dạng như sau:

+ Dòng 1: Ghi số nguyên dương N (1≤N≤100000)

+ Dòng 2: Ghi dãy N số nguyên dương a1, a2,..., an (1≤ai≤1000,i=1..n)

-    Kết quả: In ra màn hình theo cấu trúc sau:

+ Dòng 1: In ra tổng các phần tử trong dãy số.

+ Dòng tiếp theo: In ra phần tử và số lần xuất hiện của nó.

Giúp mik với, mik đang mắc!!!làm bằng pascal nhé, nặng cũng đc, máy mik intel i9 12900k và rtx 3090 nhé :) mới mua vài hôm trước:)

1

Câu 2: 

uses crt;

var a,b:array[1..100]of integer;

i,n,t,dem,j,kt,dem1:integer;

begin

clrscr;

readln(n);

for i:=1 to n do 

readln(a[i]);

t:=0;

for i:=1 to n do t:=t+a[i];

writeln(t);

dem:=1;

b[1]:=a[1];

for i:=1 to n do 

begin

kt:=0;

for j:=1 to dem do

  if b[j]=a[i] then kt:=1;

if kt=0 then 

begin

inc(dem);

b[dem]:=a[i];

end;

end;

for i:=1 to dem do 

begin

dem1:=0;

for j:=1 to n do 

  if a[j]=b[i] then inc(dem1);

writeln(b[i],' xuat hien ',dem1,' lan');

end;

readln;

end.

Câu 1:         Viết chương trình có một chuỗi kí tự gồm chữ cái, chữ số và khoảng cách và thực hiện:a.  Trong chuỗi kí tự có bao nhiêu kí tự số?b. Tính tổng các chữ số.c.  Xuất ra tất cả kí tự chữ có trong chuỗi theo thứ tự vừa nhập.-    Yêu cầu: Cho trước một chuỗi kí tự S chỉ gồm chữ cái, chữ số và khoảng cách trên một dòng. Hãy thực hiện các yêu cầu trên.-    Dữ liệu vào: Cho từ tệp văn bản có...
Đọc tiếp

Câu 1:

         Viết chương trình có một chuỗi kí tự gồm chữ cái, chữ số và khoảng cách và thực hiện:

a.  Trong chuỗi kí tự có bao nhiêu kí tự số?

b. Tính tổng các chữ số.

c.  Xuất ra tất cả kí tự chữ có trong chuỗi theo thứ tự vừa nhập.

-    Yêu cầu: Cho trước một chuỗi kí tự S chỉ gồm chữ cái, chữ số và khoảng cách trên một dòng. Hãy thực hiện các yêu cầu trên.

-    Dữ liệu vào: Cho từ tệp văn bản có tên XAU.INP gồm một dòng ghi chuỗi kí tự S (có độ dài không quá 255 ký tự). Giả thiết dữ liệu được nhập đúng đắn, không cần kiểm tra

-    Kết quả: Ghi ra tệp văn bản có tên XAU.OUT theo cấu trúc sau:

+ Dòng 1: Ghi có bao nhiêu kí tự số

+ Dòng 2: Ghi tổng các chữ số

+ Dòng 3: Ghi tất cả các kí tự chữ cái trong chuỗi

         Ví dụ:

XAU.INP

XAU.OUT

Ky2thichon5hoc5sinhgioi3lop719

7

32

Kythichonhocsinhgioilop

 

Giúp mik với, đúng mik cho 1 like nhé và bằng pascal nhé !!!

0

1:

#include <bits/stdc++h>

using namespace std;

string a,b;

int main()

{

getline(cin,a);

getline(cin,b);

cout<<a<<" "<<b;

return 0;

}

uses crt;

const fi='dulieu.txt';

var f1:text;

st:string;

i,d:integer;

begin

clrscr;

assign(f1,fi); rewrite(f1);

write('Nhap xau:'); readln(st);

d:=length(st);

for i:=1 to d do 

if (st[i] in ['A'..Z']) or (st[i] in ['0'..'9']) or (st[i]=#32) then write(f1,st[i]);

close(f1);

end.

18 tháng 1 2021

Program HOC24;

var s: string;

tg,d,max,i: byte;

code: integer;

begin

write('Nhap xau : '); readln(s);

// cau a

for i:=1 to length(s) do if s[i] in ['a'..'z'] then write(upcase(s[i]));

//------

writeln;

//-cau b

for i:=length(s) downto 1 do if s[i] in ['0'..'9'] then write(s[i]);

//------

writeln;

//---cau c

d:=0;

for i:= 1 to length(s) do

if s[i] in ['0'..'9'] then 

begin

val(s[i],tg,code);

if tg>max then max:=tg;

d:=d+1;

end;

if d=0 then write('Khong co chu so trong day') else write('Chu so lon nhat la : ',max);

readln 

end.

uses crt;

var st,st1:string;

d,i,d1,max,x,y:integer;

begin

clrscr;

write('Nhap xau:'); readln(st);

d:=length(st);

writeln('Day cac ki tu thuong doi sang chu hoa la: ');

for i:=1 to d do 

  if st[i] in ['a'..'z'] then write(upcase(st[i]):4);

st1:='';

for i:=1 to d do 

  if st[i] in ['0'..'9'] then st1:=st1+st[i];

d1:=length(st1);

for i:=d1 downto 1 do 

  write(st1[i]:4);

writeln;

max:=0;

for i:=1 to d1 do 

  begin

val(st1[i],x,y);

if max<x then max:=x;

end;

writeln('Chu so lon nhat trong xau la: ',max);

readln;

end.

uses crt;

const fi='dulieu.txt';

var f1:text;

st:string;

i,d:integer;

begin

clrscr;

assign(f1,fi); rewrite(f1);

write('Nhap xau:'); readln(st);

d:=length(st);

for i:=1 to d do 

if (st[i] in ['A'..Z']) or (st[i] in ['0'..'9']) or (st[i]=#32) then write(f1,st[i]);

close(f1);

end.