F(X)

【竞赛】为啥用0x3f代表无穷大 以及memset用法简析 解释为啥用0x3f代表无穷大 以及memset用法简析 阅读详情
题目描述:


我们定义 F(x)是满足 x  mod(a*b) == 0这样的a,b的组数。现在给你一个n,你需要求出 F(n) 输入格式: 多组数据,每组第一行有一个整数n, 0 < n <= 10^11。 输出格式: 每组输出一行,满足条件的(a,b)对数

分析:从题目可以看出,所输入的X必须要同时整除a和b,那么我们求出X%a==0时的c=X/a,然后得出d=c/b。那么从这里可以看出,这时候的c和d都满足公式 x mod (c*d)==0,由此可得,c和d都是X的因子。由于n最大可达10^11次方,因此我们将a的范围设为1<=a<=sqrt(n)+1,循环的范围知识sqrt(n),由此可知,时间复杂度降了很多很多。最后我们求出这范围内的因子,去掉重复的因子,然后一个个枚举比较就可以得出最终个数。自己看代码吧!

代码:

#include<stdio.h>
#include<string.h>
#include<math.h>
long long arr[100000];
int main()
{
    long long n,a,b,temp,cnt,m;
    int i,j,k;
    while(scanf("%lld",&n)!=EOF)
    {
        i=0;cnt=0;
        memset(arr,0,sizeof(arr));
        m=sqrt(n)+1;
        for(a=1;a<m;a++)
        {
            temp=n%a;
            if(temp==0)
            {
                temp=n/a;
                arr[i]=a;
                i=i+1;
                if(a!=temp)  
                {
                    arr[i]=temp;
                    i=i+1; 
                }
            }
        }
        //printf("%d\n",i);
        for(j=0;j<i;j++)
        {
            //printf("%lld ",arr[j]);
            for(k=0;k<i;k++)// && arr[a]*arr[b]<=n
            {
                //printf("%ld*%ld:%ld\n",arr[a],arr[b],n%(arr[a]*arr[b]));
                if(n%(arr[j]*arr[k])==0)
                {
                   cnt=cnt+1;;    
                }
            }
        }
        printf("%lld\n",cnt);
    }
    return 0;
}

字符串替换—牛客网(C++实现) 一.题目描述 请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。 给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。 测试样例: “A%sC%sE”,7,[‘... 阅读详情

相关推荐

AI漫剧制作全流程零基础实操指南:从剧本到剪辑

AI漫剧是一种利用AI工具将剧本、分镜、出图、配音、剪辑整合为流水线的短视频内容形式。其技术原理基于文生图、图生图与文本转语音模型的组合,核心挑战在于角色一致性控制与分镜批量出图。这项技术大幅降低了视频制作门槛,使个人创作者无需演员和设备即可产出剧情向短内容,广泛应用于短视频平台的情景剧、玄幻、甜宠等题材。本文给出了一套零基础可照做的全流程实操方案,覆盖剧本提示词、分镜表、出图选型、配音合成与剪辑模板,帮助你快速跑通AI漫剧制作链路。

weixin_29048309的博客 531

数学建模——Matlab中rem与mod区别

  求余函数和求模函数有相同的地方但又不完全一致,主要的区别在于对负整数进行除法运算的操作不同。对于整数a,b来说,求余运算或求模运算的方法都是先求整数商c=a/b,再求余数或模r=a-c*b。求余运算在取c的值时,向0方向取整(fix函数),而求模运算在计算c的值时,向负无穷方向取整(floor函数)。   rem与mod函数的区别是,当b≠0b\ne 0b​=0时,rem(a,b)=a-b.*fix(a./b),而mod(a,b)=a-b.*floor(a./b);当b=0b=0b=0时,rem(a,

蒟蒻 4934

量子计算入门指南:密度算符的核心概念与应用解析

本文深入解析了量子计算中密度算符的核心概念与应用。作为描述量子系统“状态的状态”的关键数学工具,密度算符能有效处理混合态与子系统描述,是理解量子噪声、量子纠错和开放系统演化的基石。文章通过对比纯态与混合态,阐释了密度矩阵的数学定义与物理意义,并结合代码示例演示了其在实际量子计算问题中的强大威力。

day7的博客 470

sql 中 mod()的基础用法

Mod(a,b) 在sql中的意思是 a / b的余数 基础用法:如果id需要是偶数或者奇数时就可以使用mod。 mod(id,2)=1 是指id是奇数。 mod(id,2)=0 是指id是偶数。 ...

qq_41024101的博客 2万+

无刷直流电机矢量控制(四):基于滑模观测器的无传感器控制

无刷直流电机矢量控制,采用转速、电流双环控制,电流环dq解耦,d轴采用id=0控制,q轴采用转速外环。采用滑模观测器(SMO),根据电压电流信息进行电机位置角度动态估算,模型可直接运行,转速和角度跟踪精度较高。 本文整理了该方法的基本原理,介绍了在MATLAB/Simulink中的建模和仿真过程,最后附上完整的模型文件。 一、基本原理 滑模观测器(下文简称SMO)是基于滑模变结构控制方法的一种状态观测器。其针对无刷直流电机转子位置估算的实现过程如下。 假设采用矢量控...

Forster-C的博客 6868

MSP430项目设计:2020年TI杯大学生电子设计竞赛 坡道行驶电动小车(C题)循迹小车(分享项目展示视频与源码)

文章目录题目要求一、硬件设计二、理论分析与计算三、电路与程序设计四、测试方案与测试结果五、项目展示 哔哩哔哩项目展示视频:https://www.bilibili.com/video/BV1oz4y1d7mH/ 百度网盘资料链接:https://pan.baidu.com/s/1PC-lkSORH_XCgIG-u3HCog 提取码:c7zz 取走记得点赞啊! 题目要求 1.任务 利用TI的MSP430/MSP432平台,设计制作一个四轮电动小车。要求小车能沿着指定路线在坡道上自动循迹骑线行驶。小车必须独立

mbs706的博客 4万+

算法题 F(x)是满足 x mod(a*b) == 0这样的a,b的组数的JAVA小解

我们定义 F(x)是满足 x  mod(a*b) == 0这样的a,b的组数。现在给你一个n,你需要求出 F(n) 输入格式: 多组数据,每组第一行有一个整数n, 0 挑战规则:  输入样例 1 2 3 4 输出样例: 1 3 3 6 解释 第一组: (1,1) 第二组:  (1,1) (1,2) (2, 1) 第三组:  (1,1) (1,3) (3,1) 第四组:   (1,1) (1,

老孟的技术博客 1503

华为OD机试真题 新系统2026-04-01 C++ 实现【勇攀数字高峰】

请你在给定的数字地形图中寻找登山路径,数字代表当前位置的海拔高度,要求从最低海拔出发,不断攀登,最终到达最高山峰。你需要寻找所有满足条件的登山路径。地图已经保证最低海拔和最高山峰都只有一个。

MISAYAONE的博客 384

Mysql:mod(a,b) 可用于判断奇偶数

Mysql:mod(a,b) mod(a,b) // 意思为 a/b的余数 mod(tar,2) = 1 //代表此时 tar为奇数 mod(tar,1) = 0 //tar 为偶数

weixin_41901345的博客 899

AMD KFD的SDMA Packet 类型和定义解析

本文详细分析了AMD GPU架构中的SDMA(System Direct Memory Access)数据传输机制,重点介绍了其核心数据结构——SDMA Packet。SDMA通过8种主要Packet类型(包括内存拷贝、数据写入、屏障同步、中断触发等)实现高效主机-设备通信。每种Packet采用位域结构和联合体封装设计,在保证功能完整性的同时实现空间优化。这些Packet支持丰富的访问属性和扩展字段,适用于高性能数据搬运、内存初始化、任务同步、性能分析等场景,为GPU计算提供了灵活高效的数据传输解决方案。

图形/计算GPU的驱动与虚拟化技术分享园地 1254

从零开始讲DDR(5)——读懂Datasheet

对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datasheet,而能都读懂datasheet,也是一个硬件工程师的必备技能。

apple_53311083的博客 5223

0x3f~0x3f3f3f3f的来龙去脉(详解)

0x3f~0x3f3f3f3f的来龙去脉

wenhaoyan的博客 1万+

【Bug已解决】Codex 报错 MCP client for context7 failed to start: program not found 解决方案

方案适用场景推荐指数改用绝对路径Windows 上最常见、最有效的解决方式⭐⭐⭐⭐⭐提前全局安装避免依赖 npx减少运行时网络下载的不确定性⭐⭐⭐⭐使用 .cmd 后缀Windows 平台快速尝试⭐⭐⭐⭐开启调试日志需要更精确定位失败原因⭐⭐⭐⭐统一封装启动脚本需要跨平台兼容多个 MCP 服务⭐⭐⭐报错的本质是Codex 启动 MCP 子进程时,无法正确定位配置文件中写的简写命令名对应的可执行文件,尤其容易发生在 Windows 平台上使用npx这类简写命令的场景。

一键难忘的博客 5815

关于0x3f3f3f3f(0x四个3f)

在之前一道最小生成树问题中遇到过,一般我啊以前的习惯

我的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

0x3f3f3f3f是什么意思???

ACM中常用的无穷大常量——0x3f3f3f3f 最近做题看题解的时候发现在大佬的题解报告中常会出现这么一行:↓↓↓ const int inf = 0x3f3f3f3f; 然后我就去探索了一下,0x3f3f3f3f的十进制是1061109567,是10^9级别的,而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形。 一般dfs或者dp求最小值......

qq_31267769的博客 4万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

f(x)与|f(x)|,f ‘ (x),F(x)常见关系。

(f(x)在"[a,b]上连续" => |f(x)|在"[a,b]连续")①如果f(x)在[a,b]上连续。则|f(x)|在[a,b]上连续. ((f(x)可积 => |f(x)|可积)证明略。反例:f(x)有无限个间断点,f(x)不可积。但是|f(x)|可积。①f(x)在x0可导,则当f(x0) ≠ 0时f(x)可导 |f(x)|可导②f(x)在x0可导,则当f(x0) = 0时,有两种情况。

Cbelieveyouself的博客 8551

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?

在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具体问题取一个99999999之类的数(显得很不专业啊!)在网上看别人代码的时候,经常会看到他们把INF设为0x7fffffff,奇怪为什么设一个这么奇怪的十六进制数,一查才知道,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美

jiange_zh的博客 4万+

无穷大常量0x7fffffff 0x3fffffff 0x3f3f3f3f

int型变量的取值范围:[-2^31, 2^31 - 1] -> [-2147483648, 2147483647] 0x7fffffff = 2147483647 = (2^31 - 1) = (1 << 31) - 1 0x3fffffff = 1073741823 = (2^30 - 1) = (1 << 30) - 1 0x3f3f3f3f = 1061109567 在写

haoran的博客 5070

0x3f3f3f3f知多少

0x3f3f3f3f的十进制是1061109567,也就是10^9级别的(和0x7fffffff一个数量级),而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形。另一方面,由于一般的数据都不会大于10^9,所以当我们把无穷大加上一个数据时,它并不会溢出(这就满足了“无穷大加一个有穷的数依然是无穷大”),事实上0x3f3f3f3f+0x3f3f3f3f=21

菜鸟 6645

0x3f3f3f3f是什么意思

补充上课没好好听到的点

Selfishness_x的博客 2900

c++ 0x3f 0x3f3f 0x3f3f3f 0x3f3f3f3f的具体值

RT,做题的时候因为没有把最大值设置好,导致有一个点没有过去。现在记录一下0x3f之类的数值,以方便日后的使用 0x3f:代表的数值63 0x3f3f:代表的数值16191 10的四次方多 0x3f3f3f:代表的数值4144959 10的六次方多 0x3f3f3f3f:代表的数值1061109567 10的九次方多 ...

游坦之的博客 5007

关于0x3f和0x3f3f3f3f

因为memset()是对char操作,即一个字节一个字节的操作,而如果p恰好是int型(四字节),就可以将int的四个字节中的每个字节都设置为3f,int就变为了3f3f3f3f(提示0x是十六进制数的标志)相比0x7fffffff,0x3f3f3f3f在做图论题时,(如Dijkstra算法)相加时不会使正无穷溢出导致变成负数,在做题时经常将0x3f3f3f3设为INF(正无穷)使用0x3f的场景一般是。...

weixin_62754360的博客 2518

0x7f 7f 7f 7f 与 0x 3f 3f 3f 3f 与0x 7f ff ff ff

2如果最大值涉及加减操作可以使用0x3f 3f 3f 3f 和 0x7f 7f 7f 7f,但是0x3f 3f 3f 3f 可以满足 自身相加还是最大值,不溢出,所以更建议使用0x3f 3f 3f 3f.这两个条件0x7f ff ff ff都不满足,会溢出.而0x3f3f3f3f则满足,而且它的数量级也是1e9的也足够大,所以正常情况下用0x3f3f3f3f来表示int的最大值.0x7f ff ff ff(注意此处的f数量)是 32 位int的最大值,但是在实际的计算中其实并不好用,有以下两个原因。

weixin_73412387的博客 911

解决Windows系统错误代码0x80072f8f-0x20000的方法,一键修复0x80072f8f-0x20000

在使用Windows操作系统的过程中,我们可能会遇到各种错误代码。本文将详细介绍如何解决错误代码0x80072f8f-0x20000的问题。

s__777的博客 3万+

INF=0x3f3f3f3f是 什么意思?

经常求最短路的时候好多人都把inf 设为0x3f3f3f3f ,今天让我们来看看这个奇妙的无穷大

天空的味道 6974

关于无穷大0x3f3f3f3f

在一些算法中,我们需要设置无穷大来进行比较或者返回,有很多数据可以设置成这个。,但是有很多人都选择了。有其他数无可比拟的优点。这个数,这是为什么?

2301_78981471的博客 283
上一篇: 绝对值最小
下一篇: 黑白球
wingahi
博客等级 码龄15年 15粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值