Trường Phước

Một số nguyên dương S gồm n chữ số (1 ≤ n ≤ 106).

Yêu cầu: Hãy liệt kê các chữ số ai (1 ≤ i ≤ n) là số nguyên tố xuất hiện trong S theo thứ tự từ trái sang phải, nếu các chữ số tìm được trùng nhau thì chỉ liệt kê lần xuất hiện đầu tiên.

Dữ liệu vào: Nhập từ bàn phím một dòng chứa số nguyên dương S.

Dữ liệu ra: Ghi ra một dãy các số ai tìm được thỏa mãn yêu cầu của đề bài. Trường hợp không tìm được thì ghi ra số 0.

Ví dụ:

Bàn phím

Màn hình

23271

2 3 7

Giải thích: Các chữ số nguyên tố xuất hiện trong S là 2 3 2 7 nhưng vì số 2 xuất hiện hai lần nên chỉ in ra 2 3 7.

Ràng buộc:

Có 60% test tương ứng với 60% số điểm có 0<n≤6.

Có 20% test tương ứng với 20% số điểm có 6<n≤18.

Có 20% test tương ứng với 20% số điểm có 18<n≤106.

Nguyễn Lê Phước Thịnh
16 tháng 11 2021 lúc 23:49

#include <bits/stdc++.h>

using namespace std;

string st;

long long d,i,x;

//chuongtrinhcon

bool ktnt(long long n)

{

for (long long i=2; i<=sqrt(n); i++)

if (n%i==0) return(false);

return(true);

}

//chuongtrinhchinh

int main()

{

cin>>st;

d=st.length();

for (i=0; i<=d-1; i++)

{

x=int(st[i)-48;

if ((x>1) and (ktnt(x)==true))  cout<<x<<" ";

}

return 0;

}

Bình luận (0)

Các câu hỏi tương tự
Huyền Trang
Xem chi tiết
Tram
Xem chi tiết
trần hoàng
Xem chi tiết
Bùi Ngọc Khánh Huyền
Xem chi tiết
Vũ Hữu Phong
Xem chi tiết
Lala
Xem chi tiết
Bùi Lê Thanh Trúc
Xem chi tiết
Bùi Thị Châu Loan
Xem chi tiết
crazy
Xem chi tiết