专栏文章

10.19上午-东塘404-J1R

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mink7czt
此快照首次捕获于
2025/12/02 03:45
3 个月前
此快照最后确认于
2025/12/02 03:45
3 个月前
查看原文

新知识

CPP
//约数:如果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]<<" ";

代码

CPP
#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。

代码

CPP
#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;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...