首页 > 其他分享 >7/21日课堂总结

7/21日课堂总结

时间:2024-07-21 18:51:35浏览次数:14  
标签:总结 include 21 int 因子 分解 课堂 define fo

7/21日课堂总结

知识点

唯一分解定理

唯一分解定理:任何一个大于1的整数,可以唯一拆分为若干个质因子的乘积。

质因子:本身就是质数的因子。

for(int i = 2; i * i <= n; i++)
    if( !(n % i))
    {
        sum += i;
        if(i*i!=n)
            sum+=n/i;
    }

$$
h=p1 ^ k1 * p2^k2 * p3k3*p4k4*...pm^km
$$

p[i]代表不同的质因子

唯一分解定理引理:一个整数x最多存在一个大于√x的质因子。

for(long long i = 2; i * i <= x; i++)//从最小的质因子开始(ll不要乱开,会影响时间)
    while(!(x % i))
        cout << i << ' ',x /= i;//说明i是一个质因子
if(x != 1)
    cout << x << ' ';//还剩下空格

数学公式

$$
d | n==n%d
$$

d|n:代表n能被d整除。

n%d:判断一个数字n是否能被d整除。

n和d都能够进行唯一分触:

  1. n分解的质因子种类包含,d分解所有的质因子种类。

  2. d包含的所有质因子的出现次数,小于等于n对应的质因子的出现次数
    $$
    (ab)c==a(bc)==(p1(k1)...pm(km))==p1(nc)...pn((km)^2)
    $$

习题

B3715 分解质因子 2

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 2;
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define le length()
typedef long long ll; 
void solve()
{
	ll n;
	cin>>n;
	if(n<=1)
		return ;
	for(ll i=2;i*i<=n;i++)
		while(n%i==0)
		{
			cout<<i<<' ';
			n/=i;
		}
	if(n!=1)
	{
		cout<<n<<'\n';
		return ;
	}
	cout<<'\n';
	return ;
}
int main()
{
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	int T;
	cin>>T;
	while(T--)
		solve();
    return 0;
}

B2138 最大质因子序列

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 2;
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define le length()
typedef long long ll;
int f(int x)
{
	int maxx=-1;
	for(int i=2;i*i<=x;i++)
		while(!(x%i))
			maxx=max(maxx,i),x/=i;
	if(x!=1)
		maxx=max(maxx,x);
	return maxx;
}
int main()
{
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	int n,m;
	cin>>n>>m;
	fo(i,n,m-1)
		cout<<f(i)<<',';
	cout<<f(m);
    return 0;
}

P10495 阶乘分解 ||P2043 质因子分解

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 2;
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define le length()
typedef int ll;
map<ll,ll>	q;
void solve(ll n)
{
	for(ll i=2;i*i<=n;i++)
		while(n%i==0)
			n/=i,q[i]++;
	if(n!=1)
		q[n]++;
	return ;
}
int main()
{
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	int n;
	cin>>n;
	for(int i=2;i<=n;i++)
		solve(i);
	for(int i=2;i<=n;i++)
		if(q[i])
			cout<<i<<' '<<q[i]<<'\n';
    return 0;
}

标签:总结,include,21,int,因子,分解,课堂,define,fo
From: https://www.cnblogs.com/basibatuo/p/18314828

相关文章

  • 7月21号模拟赛赛后总结
    7月21号模拟赛赛后总结\[7月\21号\模拟赛\\赛后总结\\2024年7月21日\\by\\\hcy\]一、做题情况第一题比赛\(10pts\),赛后\(AC\)第二题比赛\(0pts\),赛后\(AC\)第三题比赛\(30pts\),赛后\(AC\)第四题比赛\(0pts\),赛后\(AC\)比赛得分\(40pts\)......
  • 腾讯课堂视频批量下载
    腾讯课堂视频下载重要通知腾讯课堂将于2024年8月1日起停止所有在线课程的访问服务,用户将无法访问新的课程内容,但可继续观看【课程表】中的历史免费课程内容。腾讯课堂将于2024年10月1日停止运营,届时全面停止所有平台服务,感谢各位用户多年以来的支持与陪伴。腾讯......
  • 暑期ACM-Week1(7.15-7.21)
    文章目录知识点基础程序设计技巧万能[头文件](#C++中的输入输出)while执行多次输入循环退出scanf,printf&cin,coutint初定义开数组一般大小:布尔型(bool)基本数据类型取值范围文件输入输出操作浮点数陷阱C++中的输入输出递归案例1:设计一个求阶乘的递归函数案例2:设计一个......
  • 2024夏令营提高1模考0721模拟赛(提高1)补题报告
    2024夏令营提高1模考0721模拟赛(提高1)补题报告\[07121模拟赛(提高1)\\\补题报告\\\\2024年7月21日\\\by\\\唐一潇\]一、做题情况第一题比赛\(100/100\),赛后通过第二题比赛\(0/100\),赛后通过第三题比赛\(0/100\),赛后通过第四题比赛\(0/100\)......
  • 大创项目个人周报(2024.7.15—2024.7.21)
    一、搭建开发环境1.下载AndroidStudio2.运行第一个程序二、入门Kotlin语言1.打印语句的操作,用println()函数funmain(){println("HelloWorld!")}2.变量的定义:在Kotlin中定义变量只有以如下两种方式定义var[变量名称]:[数据类型]val[变量名称]:[数据类型......
  • 2024-7-21 信友队模考总结
    说是总结这个东西很有帮助,所以就写一下。开题先看了一遍感觉前三题还有希望,第四题直接寄了,期望根本就不会,还是自己太菜。T2比较难看,T3感觉像裸的分组背包,T1看着好些,直接开题。开写T1很明显的前缀和维护,然后就去想双指针考虑单调性,发现既然是求余数怎么可能有单调性。然后......
  • 周总结
    我按照时间从近到远的顺序写的1.友谊赛(2/9)打的一坨,感觉最近状态不是很好,需要调整一下把心态正回来,要更加专注才行。B-ReserveorReverse注意读题,不是替换区间的字符串,而是替换字符,并且题目的要求是替换的区间是越来越小的,意思就是替换的字符区间会缩小。我的写法是用mutil......
  • 7.21模考总结
    省流:上\(200pts\)了\(7.21\)晴模考总结:\(T1\)(题目链接)题面简述:求一段序列中有多少个子序列(此处为连续的)的和能被\(k\)整除。考试思路:想到整除就可以想到取模,想到取模就可以想到它的一个性质,即如果\(N\equivM\(mod\K)\),那么\(|N-M|\equiv0\(mod......
  • <数据集>学生课堂行为识别数据集<目标检测>
    数据集格式:VOC+YOLO格式图片数量:13899张标注数量(xml文件个数):13899标注数量(txt文件个数):13899标注类别数:8标注类别名称:['js','tt','dk','zt','dx','zl','jz','xt']#举手   js   #抬头听课   tt   #低头看书   ......
  • 一文揭开JDK21虚拟线程的神秘面纱
    虚拟线程快速体验环境:JDK21+IDEApublicstaticvoidmain(String[]args){try(varexecutor=Executors.newVirtualThreadPerTaskExecutor()){IntStream.range(0,10_000).forEach(i->{executor.submit(()->{Thread.sle......