Câu 4: (3,0 điểm) Số đặc biệt
Minh rất yêu thích số nguyên tố, đồng thời cũng rất yêu thích số 5. Do đó, cậu ta luôn coi các số nguyên tố có tổng các chữ số chia hết cho 5 là số đặc biệt. Lần này, thầy giáo đưa cho Minh 2 số nguyên dương . Minh rất muốn biết trong đoạn có bao nhiêu số đặc biệt nên nhờ các bạn trả lời giúp.
Dữ liệu: Vào từ file văn bản SPRIME.INP
Kết quả: Đưa ra file văn bản SPRIME.OUT dòng, mỗi dòng ghi một số là số lượng số đặc biệt trong đoạn , tương ứng theo thứ tự trong file input. Dòng thứ trong file output là kết quả của cặp số ở dòng trong file input.
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Cách 1:dùng sàng nguyên tố
#include <bits/stdc++.h>
using namespace std;
const int N=1e6;
int a[N+1];
void sang()
{fill(a+1,a+N+1,1);
a[0]=a[1]=0;
for(int i=2;i<=sqrt(N);i++)
if(a[i]==1)
for(int j=i*i;j<=N;j=j+i)
a[j]=0;
}
int tcs(int a)
{ int d=0;
while(a!=0)
{ d=d+a%10;a=a/10;
}
return d;}
int t,c,b;
int main()
{ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
sang();
cin>>t;
for(int j=1;j<=t;j++)
{cin>>b>>c;int d=0;
for(int i=b;i<=c;i++)
if(a[i]==1&&tcs(i)%5==0)d++;
cout<<d<<"\n";
}
return 0;
}
Cách 2:Dùng hàm kiểm tra nguyên tố
#include <bits/stdc++.h>
using namespace std;
bool ktnt(int a)
{
for(int i=2;i<=sqrt(a);i++)
if(a%i==0)return false;
return a>1;
}
int tcs(int a)
{ int d=0;
while(a!=0)
{ d=d+a%10;a=a/10;
}
return d;}
int t,c,b;
int main()
{ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>t;
for(int j=1;j<=t;j++)
{cin>>b>>c;int d=0;
for(int i=b;i<=c;i++)
if(ktnt(i)&&tcs(i)%5==0)d++;
cout<<d<<"\n";
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Đáp án:
#include <bits/stdc++.h>
using namespace std;
bool kt(int n)
{
if(n<2) return false;
for(int i=2;i*i<=n;i++)
if (n%i==0) return false;
return true;
}
int tong(int n){
int s=0;
while(n>0){
s+=n%10;
n=n/10;}
return s;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++){
int s1,s2,dem=0;
cin>>s1>>s2;
for(int i=s1;i<=s2;i++){
if(kt(i)&&tong(i) % 5==0) dem++;}
cout<<dem<<endl;
}
return 0;
}
Giải thích các bước giải:
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
1342
7290
1063
có latex cái này ko
637
7370
1017
cái này ko latex
1342
7290
1063
thế làm kiểu gì
1342
7290
1063
`ㅤूाीू`
637
7370
1017
vào chỗ trả lời góc tren bên phải có cái{;} á
637
7370
1017
nó dành cho code