比n大的最小不重复数
void Calculate(int a)
{
int pa = a;
int count = ;
int b[] = {}; //将pa按位存储到数组b
while(pa > )
{
b[count++] = pa%;
pa = pa/;
}
bool flag = true; //是否有重复数
bool carryFlag = false; //是否产生进位 //从高位开始判断是否有重复数
int i,j,k;
count--;
for(i=count;i>;i--)
{
if(b[i] == b[i-])
{
flag = false;
b[i-]++; //有可能产生进位
if(b[i-]>)
carryFlag = true;
break;
}
} if(!flag) //如果存在重复位
{
int c = ;
//将低位重复数后面的数都变成0101....
for(j = i-;j>;j--)
{
b[j-] = c;
c = (c == ? :);
} //处理进位
if(carryFlag)
{
int carry = ;
for(j = i-;j<=count + ;j++)
{
b[j] = b[j] + carry;
if(b[j] >= )
{
carry = ;
b[j] = b[j] - ;
}
}
}
pa = ;
for(i = (count= ? count + :count);i >=;i--)
{
pa = pa * + b[i];
}
cout<<"the min no repeat number: "<<pa<<endl;
}
else
{
cout<<"the min no repeat number: "<<a<<endl;
return;
}
} 输入两个很大正数,输出它们的乘积
void Multiply(const char *a,const char *b)
{
assert(a!=NULL && b!=NULL);
int len_a = strlen(a);
int len_b = strlen(b);
int *c = new int[len_a+len_b];
memset(c,,sizeof(int) *(len_a+len_b));
for(int i=;i<len_a;i++)
{
for(int j=;j<len_b;j++)
{
c[i+j+] += (a[i]-'')*(b[j]-'');
}
}
for(int i=len_a+len_b-;i>;i--)
{
if(c[i]>=)
{
int carry = c[i]/;
c[i-] = c[i-] + carry;
c[i] = c[i] % ;
}
}
char *d = new char[len_a + len_b];
int i=;
while(c[i] == ) ++i;
int j;
for(j=;i<len_a+len_b;j++,i++)
{
d[j] = c[i] + '';
}
d[j] = '\0';
for(int i=;i<len_a+len_b;i++)
cout<<d[i];
cout<<endl;
}
比n大的最小不重复数的更多相关文章
- 对Alexia(minmin)网友代码的评论及对“求比指定数大且最小的‘不重复数’问题”代码的改进
应Alexia(minmin)网友之邀,到她的博客上看了一下她的关于“求比指定数大且最小的‘不重复数’问题”的代码(百度2014研发类校园招聘笔试题解答),并在评论中粗略地发表了点意见. 由于感觉有些 ...
- 评playerc网友的"求比指定数大且最小的“不重复数”问题"
问题见:对Alexia(minmin)网友代码的评论及对“求比指定数大且最小的‘不重复数’问题”代码的改进 .算法:求比指定数大且最小的“不重复数”问题的高效实现 . playerc网友的代码如下(求 ...
- [Swift]LeetCode744. 寻找比目标字母大的最小字母 | Find Smallest Letter Greater Than Target
Given a list of sorted characters letterscontaining only lowercase letters, and given a target lette ...
- C#版(击败100.00%的提交) - Leetcode 744. 寻找比目标字母大的最小字母 - 题解
C#版 - Leetcode 744. 寻找比目标字母大的最小字母 - 题解 744.Find Smallest Letter Greater Than Target 在线提交: https://le ...
- Leetcode之二分法专题-744. 寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target)
Leetcode之二分法专题-744. 寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target) 给定一个只包含小写字母的有序数组letters ...
- LeetCode 744. Find Smallest Letter Greater Than Target (寻找比目标字母大的最小字母)
题目标签:Binary Search 题目给了我们一组字母,让我们找出比 target 大的最小的那个字母. 利用 binary search,如果mid 比 target 小,或者等于,那么移到右半 ...
- Leetcode744.Find Smallest Letter Greater Than Target寻找比目标字母大的最小字母
给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 数组里字母的顺序是循环的.举个例子,如果目标字母target = 'z' 并且有 ...
- Java实现 LeetCode 744 寻找比目标字母大的最小字母(二分法)
744. 寻找比目标字母大的最小字母 给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 在比较时,数组里字母的是循环有序的.举个例 ...
- C#LeetCode刷题之#744-寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4001 访问. 给定一个只包含小写字母的有序数组letters 和 ...
随机推荐
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报 分类: 其他 ...
- centos上装eclipse步骤
1.去官网下个eclipse for linux的 地址:http://www.eclipse.org/downloads/ Eclipse IDE for Java EE Developer ...
- Jboss 7配置日志
1. Jboss7配置日志理论知识介绍 Jboss 7日志能够在XML配置文件和日志管理属性文件内配置.默认日志配置在configuration文件夹的logging.properties文件内. 通 ...
- [置顶]
Snow的追寻
题目描述 Snow终于得知母亲是谁,他现在要出发寻找母亲. 王国中的路由于某种特殊原因,成为了一棵有n个节点的根节点为1的树,但由于"Birds are everywhere.", ...
- JSP-Runoob:JSP 发送邮件
ylbtech-JSP-Runoob:JSP 发送邮件 1.返回顶部 1. JSP 发送邮件 虽然使用JSP实现邮件发送功能很简单,但是需要有JavaMail API,并且需要安装JavaBean A ...
- uoj#34
模板 #include<bits/stdc++.h> #define pi acos(-1) using namespace std; ; int n, m, L, x; int r[N] ...
- linux_bash_shell_cheat_sheet(自译)
[说明] 发现错误或不足请务必联系我!!! linux_bash_shell_cheat_sheet.pdf (英文原本以及译本下载,链接失效请私信或邮箱联系)
- [Swift通天遁地]七、数据与安全-(6)管理文件夹和创建并操作文件
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- python自动化测试学习笔记-4内置函数,处理json
函数.全局变量 写代码时注意的几点事项: 1.一般写代码的时候尽量少用或不用全局变量,首先全局变量不安全,大家协作的情况下,代码公用容易被篡改,其次全局变量会一直占用系统内容. 2.函数里如果有多个r ...
- BZOJ 1137 半平面交
半平面交的板子 //By SiriusRen #include <bits/stdc++.h> #define double long double using namespace std ...