- C++
枚举法例题
- 2024-1-6 14:02:14 @
作业:
第一题:求1~n中间所有的质数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s=0;
cin>>n;
for(int i=2;i<=n;i++){
int flag=1;
for(int j=2;j<=i-1;j++){
if(i%j==0){
flag=0;
break;
}
}
if(flag==1){
printf("%d\n",i);
s++;
}
}
printf("%d",s);
return 0;
}
第二题:第n小的质数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s=0;
cin>>n;
for(int i=2;;i++){
int flag=1;
for(int j=2;j<=i-1;j++){
if(i%j==0){
flag=0;
break;
}
}
if(flag==1){
s++;
}
if(s==n){
printf("%d\n",i);
break;
}
}
return 0;
}
第三题:求第n个小幸运数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s=0;
cin>>n;
for(int i=2;;i++){
int flag=1;
int tmp=i;
while(tmp!=0){
int d = tmp%10;
if(!(d%2==0 or d%3==0)){
flag = 0;
break;
}
tmp=tmp/10;
}
if(flag==1){
s++;
}
if(s==n){
printf("%d\n",i);
break;
}
}
return 0;
}
1 条评论
-
xinao019 LV 3 @ 2024-1-6 14:25:23
#include<iostream> using namespace std;
int main(){ ** int a,s,d;** ** cin>>a;** ** for(int i=2;i<=a;i++){** ** for(int j=1;j<=i;j++){** ** if(i%j0){** ** s++;** ** **} ** } ** d++; ** if(s2){** ** if(d==2){** ** cout<<i-2<<" "<<i<<endl;** ** } ** d=0; ** } ** s=0; ** } ** return 0; }
- 1