一.从1~100中随机抽走一个数字,剩下的99个数字被打乱顺序放到数组 a[99]。int a,k=0;
srand(time(NULL));
a = rand()%100+1;//随机从0~100抽取一个数
int array[99] = {0};//数组保存数据
for(int i = 1; i <= 100; ++i)
{if(i != a)array[k++]  = i;//获取剩下的99个数字
}//打乱剩下99个数据
for(int i = 0; i <99; ++i)
{int j = rand()%99;//随机获取一个数组下标//将i下标处的数据与j下标数据交换int b =   array[i]; array[i] =  array[j];array[j] = b;
}二.有一组数字,从1到n,从中减少了3个数,顺序也被打乱,放在一个n
求丢失的元素.这原是一道JSP面试题 1.二分查找 2.遍历数组,求取数组的累加和s, 平方和qs。
用1...10000的累加和减去s, 得到移除两数之和a,
用1...10000的平方和减去qs,得到移除两数之和b,那么解方程就可以了
x1 + x2 = a
x1^2 + x2^2 = b需要用的高中数学中的角坐标变换,和差化积什么的。至于去掉三个数大家可以试试立方和
x1 + x2 + x3 = a
x1^2 + x2^2 + x3 = b
x1^3 + x2^3 + x3^3 = c
方程大家可以任意构造,只要其和不用太大,并且易于求解就可以了设减少的3个数分别为x、y、z,3个数的和为b,3个数的平方和为c,3个数的立方和为d。
据题意有下面3个等式联立:
x + y + z = b ①
x * x + y * y + z * z = c ②
x * x * x + y * y * y + z * z * z = d ③
只要求出了b、c、d,我们就可以把①式两边平方再减去②式得到——
x * y + y * z + x * z = f(a, b, c) ④
再通过(x + y + z)^3 = x^3 + y^3 + z^3 + ... + 6x * y * z的公式和①②③式代入处理③式得到——
x * y * z = f(a, b, c) ⑤
根据①④⑤就能转换成一元三次方程,通过盛金公式(B^2-4AC<0)求取3个根——也就是被减少的那3个数。3.
bitmap,hash方法暂时不会 4.
memset(flag,0,sizeof(flag));
for(int i=1;i<=n-3;++i)
flag[a[i]]=1;
for(int i=1;i<=n;++i)
if(!flag[i])
cout<<i;

转载于:https://www.cnblogs.com/hxsyl/archive/2012/07/01/2572235.html

腾讯(求丢失的元素)相关推荐

  1. php 求数组组合数,php实现求数组全排列,元素所有组合的方法

    下面小编就为大家带来一篇php求数组全排列,元素所有组合的方法总结.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文实例讲述了php求数组全排列,元素所有组合的方法总 ...

  2. 求列表最大元素不用max_python3实现从一个无序列表中求取连续元素之和中最大的和...

    介绍 今天遇到一个需求,要求从一个无序列表中求取连续元素之和中最大的和.使用python做了实现,后来想着可以作为一个小知识点分享出来,或许能在某时某刻给某位同学一些帮助.下面就直接上代码(图片和文字 ...

  3. Java黑皮书课后题第8章:*8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和。编写一个程序,读取一个4*4的矩阵,显示主对角线和

    *8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和.编写一个程序,读取一个4*4的矩阵,显示主对角线和 题目 题目描述与运行示例 破题 ...

  4. 输出该数二进制表示中1的个数。求取十进制数字元素1的个数 (3种方法)

    /* ***求取十进制数字元素1的个数 */int fun(int x) {int count = 0;int i, j, k;/***方法2 负数不可计算,需要改进*/while (x != 0){ ...

  5. 1. 定义方法,求出指定元素在数组中出现的次数.

    package Day05;import java.util.ArrayList;/*** 3.* c* 1. 定义方法,求出指定元素在数组中出现的次数.* 2. 定义方法,统计数组中出现次数为1的元 ...

  6. 减治求有重复元素的全排列

    求n个元素的全排列的所有解可以用减治法:每次拎出一个数做前缀,对剩下的元素再求全排列,直至只剩一个元素.代码源自<算法分析与设计(王晓东)>,复杂度O(n!) 1 //输出k~m的所有全排 ...

  7. R7-5 求矩阵各行元素之和 (15 分)

    R7-5 求矩阵各行元素之和 (15 分) 本题要求编写程序,求一个给定的m×n矩阵各行元素之和. 输入格式: 输入第一行给出两个正整数m和n(1≤m,n≤6).随后m行,每行给出n个整数,其间 以空 ...

  8. 递归法:求n个元素的全排列

    问题:求n个元素的全排列 举例:ABC 其全排列有ABC ACB BAC BCA CAB CBA 法一: 采用分割的思想把第一个元素和后面的其他元素分开思考将问题简单化 public class Qu ...

  9. C语言:求矩阵对角线元素的和

    /*求矩阵对角线元素的和,以3阶矩阵为为例*/ #include <stdio.h> int main(){int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};in ...

最新文章

  1. 02Django入门仪式之Hello World
  2. python-序列、集合及字典
  3. ODP.net与Oracle连接
  4. JDBC初学者的basedao工具类
  5. (37)FPGA花样流水灯设计(第8天)
  6. Mysql索引的类型
  7. 小程序引发的深层思考
  8. springboot Cacheable(redis),解决key乱码问题
  9. 2020牛客多校训练1 I 1or2(拆点拆边带花树一般图最大匹配)
  10. 一次让你搞懂Android应用签名
  11. 大话西游2服务器维护公告,2017年02月23日停机维护公告
  12. python函数的调用方式_Python中函数参数调用方式分析
  13. vue设置浏览器顶部小图标
  14. MeeGo系统Atom处理器 神秘设备现身俄罗斯
  15. Android软键盘与界面内容的坑
  16. 计算机需要权限来执行此操作 win7,win7系统删除提示“文件夹访问被拒绝,需要权限执行此操作”怎么办...
  17. mount gives unknown filesystem type 'vboxsf' 解决方法
  18. 【方法】如何在PPT文稿中插入Word表格?
  19. 机器学习算法工程师面试学习经验
  20. 一个请假单流程的实现(struts2.1.8+spring2.5+hibernate3集成jbpm4.3)

热门文章

  1. bzoj 4446: [Scoi2015]小凸玩密室
  2. JavaScript:动态选中CheckBox
  3. Android 使用MediaPlayer播放assets或者raw目录的音频文件
  4. android的签名问题
  5. 从open系统调用的源码看文件的打开过程
  6. 11-直接内存 Direct Memory
  7. pygame外星人2
  8. F1 score,micro F1score,macro F1score 的定义
  9. php设计模式 -- 工厂模式
  10. php接收post过来的json数据