整数分解(Integer
factorization)又叫质因数分解(质因子分解)是指把一个正整数写成几个素数的乘积。最简单的算法是,从2到N进行试除,能整除的时候就说明找到了一个新的因子,而这个过程中由于是从较小的数開始除起所以必然会先找到能整除的最小的素数。#include
void pd(in...
分类:
其他好文 时间:
2014-05-27 00:38:50
阅读次数:
310
筛选法又称筛法,具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。因为希腊人是把数写在涂腊...
分类:
其他好文 时间:
2014-05-22 18:29:55
阅读次数:
392
给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:
A1 = 能被5整除的数字中所有偶数的和;
A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;
A3 = 被5除后余2的数字的个数;
A4 = 被5除后余3的数字的平均数,精确到小数点后1位;
A5 = 被5除后余4的数字中最大数字。
输入格式:
每个输入包含1个测...
分类:
其他好文 时间:
2014-05-22 12:45:54
阅读次数:
238
题目描述:
??
我们定义 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。那么从这里...
分类:
其他好文 时间:
2014-05-22 06:46:32
阅读次数:
201
问题:
求两个数的最大公约数
解法一:
欧几里得辗转相除法:
f(x,y) = GCD(x,y), 取k = x / y, b = x % y,则:x = k*y + b;
如果一个数能整除x,y,则它也能整除b,y; 而且能整除b,y的数必能整除x,y,即x,y和b,y的公约数是相同的,其最大公约数也是相同的,即f(x,y) = f(y ,x % y) (x>=y>0)...
分类:
其他好文 时间:
2014-05-21 09:28:26
阅读次数:
275
题意:求for(int i=a;i!=b;i+=c,i%=(1
解法:即求解C*x-(1C*x+K*y=b-a;如果g=gcd(C,K)不能被b-a整除,则说明无解。
用exgcd()求出一组C/g*x+K/g*y=1的解,然后两边乘上(b-a)/g将求出的x取最小正数输出。
代码:/*************************************...
分类:
其他好文 时间:
2014-05-21 07:09:42
阅读次数:
226
编程题:统计1~20之间不能被3整除的数的个数并输出这些数以下程序是用break和continue语句来实现的。#include<stdio.h>voidmain(){intn,s;for(n=1,s=0;n<=20;n=n+1){if(n%3==0)continue; printf("%d\t",n); s=s+1;}printf("\ntotal:%d\n",s);}算法分析与流程图:运行..
分类:
其他好文 时间:
2014-05-21 01:12:16
阅读次数:
844
题目链接:uva 11361 - Investigating Div-Sum Property
题目大意:给出a,b,k,问说在[a,b]这个区间有多少n,满足n整除k,以及n的各个为上的数字之和也整除k。
解题思路:数位dp,dp[i][j][x]表示第i为的时候,n整除k余j,n(以及考虑到的位数)的各个位置上的数字之和整除k余x的情况总数,并且每次要计算上限的临界值。
#inc...
分类:
其他好文 时间:
2014-05-20 15:26:47
阅读次数:
215
题目链接:Codeforces Round #246 (Div. 2)
A:直接找满足的人数,然后整除3就是答案
B:开一个vis数组记录每个衣服的主场和客场出现次数,然后输出的时候主场数量加上重复的,客场数量减掉重复的
C:原来是YY乱搞的,原来是哥德巴赫猜想,一个合数可以表示为3个质数相加,然后就先打个素数表,然后从最小的数字一个个模拟往前放即可,放的时候走的步数直接拆成都是质数即可
...
分类:
其他好文 时间:
2014-05-18 18:39:37
阅读次数:
298
题目大意:
给出一个数n,求m,使得m的长度和n相等,能被k整除。有多个数符合条件输出与n在每位数字上改变次数最小的。改变次数相同的输出大小最小的。
共有三种解法:DP解法,记忆化搜索和DFS+强剪枝的算法。
后两种以后会更新。
1、DP解法:
解题思路:
DP[i][j]表示数n的前i位除以k余j最小改变几位。
DP[len][0]就表示数n被k整除最小改变几位。
根据这个...
分类:
其他好文 时间:
2014-05-18 06:02:56
阅读次数:
319