
数论
青春苦瓜
这个作者很懒,什么都没留下…
展开
-
欧拉函数
在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。C语言求解euler函数int eular(int n){ int ret=1,i; for(i=2;i*i<=n;i++) { if(n%i==0) { n/=i,ret*=i-1; while(n%...原创 2019-05-23 13:20:03 · 118 阅读 · 0 评论 -
HDU 4704 Sum快速幂+费马小定理
这题就是给个n 求pow(2,n-1)但是n是 1e1000000 所以就要用到费马小定理费马小定理是假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。所以可以把(n-1)对(MOD-1)取余 设余数为K 因为2^(MOD-1)%MOD =1百度上有一个很好的例题:所以本题在处理n的时候 先用string读入,然后定义n=0,n...原创 2019-07-02 09:39:30 · 129 阅读 · 0 评论 -
超大数快速幂模板
#include <cstdio> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #include <string> #include <cstdlib> using namesp...原创 2019-08-03 09:30:50 · 286 阅读 · 0 评论 -
java 大数+开平方(二分思想)
牛顿迭代咱也看不懂,只能靠写写二分这样过日子。import java.util.Scanner;import java.math.BigInteger; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t=s...原创 2019-08-03 09:33:19 · 316 阅读 · 0 评论 -
LightOJ - 1282 Leading and Trailing 数论基础
题意:求n的k次方的前三位和后三位,后三位要补前导零。思路:后三位快速幂取模 模1000即可前三位的话 :任何一个数都可以表示成 10^a的形式 a是可以是整数也可以是小数n^k也不例外我们可以推出 a这里介绍一个可以对double型取模的函数 fmod()这里就可以fmod(a,1) 即只要k的小数部分 再加上2即fmod(k*log10(n),1)+2再以10为底数进行...原创 2019-07-21 22:48:05 · 124 阅读 · 0 评论 -
Lightoj-1305 - Area of a Parallelogram【计算几何 数学】
这题给的就是图上画的ABC 让你求D 所以不用分类讨论给的是哪三个点然后本来自己有个笨办法慢慢算,但是看到大佬短短几行就解决了真的涨姿势:求D点坐标:yd=yc+ya-yc;xd=xc+xa-xb;平行四边形的面积可以用两相邻向量求,公式就是 x1 * y2 - x2 * y1(注意这里坐标是向量坐标)#include<iostream>#include<algo...原创 2019-08-14 11:40:00 · 208 阅读 · 1 评论 -
【2018ICPC宁夏】Goldbach JAVA质数简单题
看的网上题解, java tql可以直接用n/2然后上下寻找两个质数直接输出就好。java内置了一个O(logn)的方法BigInteger.valueof(x).isProbablePrime(certainty);certainty - 这一措施的调用者能容忍的不确定性:如果调用返回true,则此BigInteger是素数超过概率(1 - 1/2确定性)。此方法的执行时间正比于该参数的值...原创 2019-09-05 20:14:01 · 147 阅读 · 0 评论 -
2018ICPC南京网络赛 J题 Sum 找规律+数学
题目链接题意:定义cnt[i]是任意一个数分解成无平方整数的方案数给定n求前n项cnt[i]的和思路:遇到这种题就多写几个数看看找找规律 差不多就出来了有那么几种情况①是质数:方案数铁定是1②不是质数:那么他的方案数是他两个因子方案数的乘积加上下面特殊考虑:若该合数为平方数,则分解方法数要除4若该合数的其中一个因子是n次方数(n≥3),则分解方法数为0既然用到判断是不...原创 2019-10-02 20:47:29 · 171 阅读 · 0 评论