题目: 2520是最小的能被1-10中每个数字整除的正整数。 最小的能被1-20中每个数整除的正整数是多少? 分析: 解题方法 题目的实质是求几个数的最小公倍数。 任何一个正整数都可以表示成几个素数的次方的乘积 假设PnPn表示第n个素数,那么任意正整数可以通过下面的式子获得: Num=Pk11Pk ...
分类:
其他好文 时间:
2018-05-16 22:32:11
阅读次数:
184
洛谷P2567 要点: 很容易考虑到容斥。先预处理出所有幸运数字,加上它们的倍数个,再找所有两个的最小公倍数减去倍数个,再加上3的…… 至于[a,b],“前缀和”思想处理即可。 但是暴力的考虑复杂度2^2046,tle; 所以要考虑如下剪枝: 1.如果b|a,那么对于所有的x|b,都有x|a,所以这 ...
分类:
其他好文 时间:
2018-05-13 13:50:29
阅读次数:
158
已知a、b求a与b的最大公因数与最小公倍数? 先说最大公因数 一种正常的算法是把a、b改写成多个素数的幂相乘。比如a=36和b=54,那么a=2^2*3^2,b=2^1*3^3。最大公因数就是取相同的素数的最小指数相乘,即2^1*3^2=18。亲爱的wyt理解这个就行了,下面可以不用看。 再来说说辗 ...
分类:
其他好文 时间:
2018-05-11 14:33:58
阅读次数:
185
这竟然是一道分块题…… cpp include include include include using namespace std; int n, m, q, blc, qnt, fa[50005], mxa[50005], mxb[50005], sz[50005], bcj, ans[500 ...
分类:
其他好文 时间:
2018-04-27 16:44:22
阅读次数:
199
#include <stdio.h>int main() { int n,i,j,a,b,t,k; scanf("%d",&n); for(k=0;k<n;k++) { scanf("%d %d",&i,&j); a=i,b=j; if(b%a==0) printf("%d %d\n",a,i*j/ ...
分类:
其他好文 时间:
2018-04-20 00:03:43
阅读次数:
2569
NO.5章 入门篇(3)——数学问题 1. 最大公约数 最小公倍数 1)最大公约数 (GCD) 2)最小公倍数 (LCM) 2. 分数四则运算 1)表示与化简 2)四则运算 3)输出 3. 素数 1)判断 2)获取 4. 质因子分解 5. 大整数运算 1)存储 2)四则运算 6. 扩展欧几里得算法 ...
分类:
其他好文 时间:
2018-04-13 21:24:45
阅读次数:
156
package com.suanfa; import java.util.*; public class GongyueAndGongbei { public static void main(String[] args) { System.out.println("222和407的最大公约数是:" ...
分类:
其他好文 时间:
2018-04-11 00:26:05
阅读次数:
193
import java.util.scanner; public class Test { public static int fun(int a ,int b){ int c; c = a % b; while(c > 0){ a = b; b = c; c = a % b; } return(b ...
分类:
其他好文 时间:
2018-04-11 00:23:55
阅读次数:
188
public class GCD_and_LCM {public static void main(String args[]){ System.out.println("请输入两个整数:"); Scanner s=new Scanner(System.in); int a=s.nextInt(); ...
分类:
其他好文 时间:
2018-04-11 00:23:26
阅读次数:
179
import java.util.Scanner;public class Gyb { public static void main(String[] args) { Scanner cin= new Scanner(System.in); System.out.println("请输入一个大于零 ...
分类:
其他好文 时间:
2018-04-11 00:23:07
阅读次数:
224