首页 > 其他分享 >数学相关

数学相关

时间:2024-05-08 13:33:52浏览次数:16  
标签:return int 质数 sqrt 数学 大于 相关 模板

数学相关

最大公约数

  • 模板
int gcd(int a, int b)
{
	int x = a % b;
    while(x)
    {
        a = x;
        a ^= b ^= a ^= b;
        x = a % b;
    }
    return b;
}

最大公倍数

  • 模板
int lcm(int a, int b){
    return a*b / gcd(a, b);
}

质数相关

确定是不是质数/素数

  • 模板
bool is_prime(int n)
{
    if(i < 2) return false;
    for(int i = 2; i <= n / i; i ++ )
    {
        if(n % i == 0) reutrn false;  // 判断是不是素数
    }
    return ture;
}

分解质因数

  • 分析

这里有个性质:n中最多只含有一个大于sqrt(n)的因子。证明通过反证法:如果有两个大于sqrt(n)的因子,那么相乘会大于n,矛盾。证毕
于是我们发现最多只有一个大于sqrt(n)的因子,对其进行优化。先考虑比sqrt(n)小的,代码和质数的判定类似
最后如果n还是>1,说明这就是大于sqrt(n)的唯一质因子,输出即可。

  • 模板
#include <bits/stdc++.h>

using namespace std;

int n, x;

int main()
{
    cin >> n;
    while(n -- )
    {
        cin >> x;
        for(int i = 2; i <= x / i; i ++ )  // 从2开始递增遍历判断
        {
            if(x % i == 0)  // 若是因子
            {
                int s = 0;
                while(x % i == 0)  // 循环判断,将如 8 = 2^3 这种情况搞出来
                {
                    s ++;
                    x /= i;
                }
                cout << i << ' ' << s << endl;
            }
        }
        if(x != 1) cout << x << ' ' << '1' << endl;  // 这是一个性质,若最后x不为1,则x一定是一个质因子
        cout << endl;
    }
    return 0;
}

质数筛

  • 线性筛法(欧拉筛)O(n)

  • 诶氏筛法 O(nloglogn)

标签:return,int,质数,sqrt,数学,大于,相关,模板
From: https://www.cnblogs.com/hnu-hua/p/18179470

相关文章

  • 字符串相关
    字符串相关文章参考:[详解-字符串]C++必知必会字符串-string常用各种操作解析-知乎(zhihu.com)C++字符串(string)常用操作总结-知乎(zhihu.com)c++读取字符串和字符的6种函数_c++获取字符串的每个字符-CSDN博客字符串使用大全(比较实用的):C++中的String的常用函数用法总......
  • 号称能打败MLP的KAN到底行不行?数学核心原理全面解析
    前几天火爆的Kolmogorov-ArnoldNetworks是具有开创性,目前整个人工智能社区都只关注一件事LLM。我们很少看到有挑战人工智能基本原理的论文了,但这篇论文给了我们新的方向。mlp或多层感知位于AI架构的最底部,几乎是每个深度学习架构的一部分。而KAN直接挑战了这一基础,并且也挑战了......
  • Matplot3D for JAVA 【V5.0】发布 :一个纯JAVA开发的数学科学数据可视化组件,JAVA 三维
    ​ Matplot3DforJAVA概述 在数据科学和工程领域,数据可视化是理解和交流复杂信息的关键工具。如果您是一位Java开发者,寻找一个强大的、本地化的三维图形绘图库,那么Matplot3DforJAVA(V5.0)值得你关注。该组件旨在为Java开发者提供类似于Python中Matplotlib的三维绘图功能,让Jav......
  • 021Dockerfile相关
    一、dockerhistory镜像层文件确认方法#(1)问:如何查询dockerfile里的ADDfile:a0a9df396dd400a83cc437cba4830851b18457de79db5955704378c6d206b9a1in/usr/local/java/实际文件file后的id?ADDfile:a0a9df396dd400a83cc437cba4830851b18457de79db5955704378c6d206b9a1i......
  • Keil编译后的Code,RO,RW,ZI等相关
    在使用keil开发STM32应用程序时,点击Build后在BuildOutput窗口中经常会有如下信息:以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结:这些参数的单位是Byte图中几个参数分别代表 Code:代码的大小RO:常量所占空间(加了const修饰......
  • MMU相关介绍
    什么是MMUMMU即内存管理单元(MemoryManageUnit),是一个与软件密切相关的硬件部件,也是理解linux等操作系统内核机制的最困难的知识点之一。1)概述研究MMU无法绕过的一个东西就是分页内存管理机制,也就是研究——页表。页表内存放的就是虚拟地址到物理地址的转换关系,也就是虚拟地址......
  • 2024ICPC武汉邀请赛-G.Pack-数论分块、整除运算相关的不等式
    link:https://codeforces.com/gym/105143Groupcontests:https://codeforces.com/group/DWEH34LQgT/contest/521901题意:有\(n\)件\(A\)物品,\(m\)件\(B\)物品,两种物品价值分别是\(a,b\),若干件\(A\)和若干件\(B\)可以打包成一个商品,打包尽可能多的商品的情况下让剩余的......
  • Linux系统内核与内存相关知识
    目录目录文件系统NTFS文件系统的概述可靠性添加了功能POSIX支持删除限制NTFS的优点NTFS的缺点NTFS命名约定FAT概述FAT命名约定FAT的优点FAT的缺点NTFS文件系统和FAT32系统的区别区别Linux内核的作用一、前言二、Linux内核的作用三、驱动开发为什么要学习内核四、需要学习......
  • Session相关知识
    什么是Session当用户请求来自应用程序的Web页时,服务器会给每一个用户(浏览器)创建一个Session对象;用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去,默认情况下,只要浏览器没有关闭,这个Session就一直存在。Session的常用......
  • Cookie相关
    cookie的概念cookie是一种客户端会话技术将数据保存到客户端。cookie的利弊:1)将数据保存到客户端,十分方便,同时减轻服务器存储压力2)对保存数据的个数(20)及大小有限制(4kb)作用cookie用来保存少量及不太敏感的数据可以在不登入的情况下,对客户端完成身份识别(即在客户端设置......