10.19上午-东塘404-J1R
pico_fence · · 个人记录
新知识
//约数:如果a能整除b,既满足a%b==0那么就称b是a的一个约数。(补充:因数和约数是一个概念)
//约数:如果a能整除b,那么就称a是b的一个倍数。
//质数:除了1和它本身以外没有其他的因数。
//合数:除了1和他本身以外还有其他的因数。
//判断质数因数:
long long is_prime(long long n){
if(n<=1){
return 0;
}
for(long long i=2;i<=/i;i++){
if(n%i==0){
return 0;
}
}
return 1;
}
P5736 【深基7.例2】质数筛
思路
先创建一个判断质数因数的函数:long long is_prime(long long n){ if(n<=1){ return 0; } for(long long i=2;i<=n;i++){ if(n%i==0){ return 0; } } return 1; } 然后创建一个a[i]数组,再创建一个变量n,然后输入n,再用for循环输入a[i]。最后用一个for循环中来个if判断,判断a[i]中的质数因数,最后cout<<a[i]<<" ";
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll is_prime(ll n){
if(n<=1){
return 0;
}
for(ll i=2;i<=n/i;i++){
if(n%i==0){
return 0;
}
}
return 1;
}
const int N=1e5+5;
int a[N];
int n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(is_prime(a[i])){
cout<<a[i]<<" ";
}
}
return 0;
}
B2137 判决素数个数
思路
先创一个判断指质数因数的函数,在创建x,y和一个存东西的ans,然后输入x和y,再来个特判,然后来个for循环中写一个if判断,判断i中的质数和因数,再ans++,最后输出ans。
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll is_prime(ll n){
if(n<=1){
return 0;
}
for(ll i=2;i<=n/i;i++){
if(n%i==0){
return 0;
}
}
return 1;
}
int x,y;
int ans;
int main(){
cin>>x>>y;
if(x>y){
int c=x;
x=y;
y=c;
}
for(int i=x;i<=y;i++){
if(is_prime(i)){
ans++;
}
}
cout<<ans;
return 0;
}