- 博客(20)
- 收藏
- 关注
原创 BGN加密
Preliminaries 双线性群 和是阶为n的两个有限(乘法)循环群; g是的一个生成元(循环群、生成元:如果,则为循环群,a则为的一个生成元,也称为由a生成的一个群,当一个群由a生成时,记作=<a>) e是一个双线性映射,e: .对于所有的并且,有,是的一个生成元。根据一个给定的阶n,构建双线性群:选一个大于3且不能被3整除的,并且不能开方...
2018-12-16 11:03:59 3081
原创 Paillier加密
Paillier加密 选择两个大素数p,q,计算乘积n=pq 的阶:根据欧拉函数 在群 Paillier基于的困难问题 Paillier的加密解密方案 ...
2018-10-15 20:30:18 4729
原创 二分求幂 A^B
Problem Description求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方” Input输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。 Output对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。 Sample Input2 312 ...
2018-03-06 10:43:18 203
原创 二分求幂(递归)
#include<stdio.h>#include<math.h>_int64 fun(int a,int b){ _int64 r=1,base=a; while(b!=0) { if(b%2!=0) r*=base; base*=base; b/=2; } return r;}int main(){ int n,m; while(scanf("%d%d",&a...
2018-03-06 10:31:49 228
原创 九度1207 质因数的个数
求正整数N(N>1)的质因数的个数。相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。输入描述:可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。输出描述:对于每组数据,输出N的质因数的个数。示例1输入120输出5#include<stdio.h>bool mark[100001];int prime[100001];...
2018-03-05 10:33:30 197
原创 九度1040 Prime Number
题目描述:Output the k-th prime number.输入:k≤10000输出:The k-th prime number.样例输入:37123样例输出:517#include<stdio.h>int num[10001];int size=0;bool mark[10001];void Isnum(){ int i; for(i=1;i<=10000;i++...
2018-03-04 20:30:45 202
原创 九度1163 素数
输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。输入描述:输入有多组数据。每组一行,输入n。输出描述:输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。示例1输入100输出11 31 41 61 71自己做的好复杂0 0...
2018-03-04 20:10:45 160
原创 九度1047 素数判定
给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。输入描述:测试数据有多组,每组输入一个数n。输出描述:对于每组输入,若是素数则输出yes,否则输入no。示例1输入13输出yes#include<stdio.h>#include<math.h>int main(){ int n; while(scanf("%d",&n)!=EOF) { int i,...
2018-03-04 16:18:19 273
原创 Least Common Multiple
Problem DescriptionThe least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 ...
2018-03-04 16:01:08 254
原创 九度1438 求最小公倍数
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例1输入5 7输出35解题关键:最小公倍数=a*b/最大公约数#include<stdio.h>int fun(int a,int b){ if(a==0||b==0) return (a==0)?b:a...
2018-03-04 15:29:13 184
原创 九度 1056最大公约数
输入两个正整数,求其最大公约数。 输入描述:测试数据有多组,每组输入两个正整数。输出描述:对于每组输入,请输出其最大公约数。示例1输入49 14输出7方法一:非递归#include<stdio.h>int IsZero(int m,int n){ if(m==0) return n; else return m;}int main(){ int a,b; while(scanf(...
2018-03-04 15:00:23 159
原创 九度1194 八进制
输入一个整数,将其转换成八进制数输出。输入描述:输入包括一个整数N(0<=N<=100000)。输出描述:可能有多组测试数据,对于每组数据,输出N的八进制表示数。示例1输入789输出71011#include<stdio.h>int main(){ long x; while(scanf("%lld",&x)!=EOF) { int ans[50],s...
2018-03-04 14:23:09 185
原创 九度1074 对称平方数
题目1074:对称平方数时间限制:1 秒内存限制:32 兆特殊判题:否提交:3671解决:1624题目描述:打印所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121输入:无任何输入数据输出:输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。数位分解。#include<stdio.h>int fun(int x){ int a[10];...
2018-03-03 15:54:08 174
原创 九度1083特殊乘法
写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5输入描述:两个小于1000000000的数输出描述:输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。示例1输入123 45输出54两种思路:1、数位分解 2、用字符串存储1、数位分解方法x%10得最...
2018-03-03 14:54:38 160
原创 九度183:守形数
Q1:怎样判断低位Q2:应该是求模,可是除以什么?位数怎样确定?#include<stdio.h>#include<math.h>int num(int x){ int count=0; while(x!=0) { x/=10; count++; } return count;}int main(){ int n; while(scanf("%d",&n)!=E...
2018-03-03 11:02:38 215
原创 还是A+B
题目描述:读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。输入:测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。输出:对每个测试用例输出1行,即A+B的值或者是-1。样例输入:1 2 111 21 1108 8 236 64 ...
2018-03-03 10:31:25 164
原创 九度1176 求某层数结点
题目描述:有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入:输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出:输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。样例输入:41 2 3 42样例输出:2 3来源:2010年北京邮电大学网院研究生机试真题#...
2018-03-01 20:03:52 250
原创 九度1078 二叉树已知先序和中序 求后序
#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct BTNode{ struct BTNode *lchild; struct BTNode *rchild; char data;}BTNode;void postorder(BTNode *p){ if(p!=NULL) { ...
2018-03-01 16:35:28 119
原创 九度OJ1107 搬水果
#include<queue>#include<stdio.h>using namespace std;priority_queue<int, vector<int>, greater<int> > Q;//小顶堆int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n==0) ..
2018-02-28 21:13:10 182
原创 九度OJ1172 哈夫曼树 优先队列
题目描述:哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入:输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。输出:输出权值。样例输入:5 1 2 2 5 9样例输出:37来源:2010年北京邮电大...
2018-02-28 20:56:25 264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人