精华内容
下载资源
问答
  • 编程笔试(解析及代码实现):求不重复数字之和给定一整型数字,里面有且仅有两个数字值出现了一,其他的数字都出现了两。请写出程序求出这两只出现了一数字之和 目录 题目描述 代码实现 ...

    编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和

    目录

    题目描述

    代码实现


    题目描述

    求不重复数字之和
    给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和。
    输入描述:第一行维数组长度为N,接下来一行为一组N整型数字,用空格作为分隔符。
    输出描述:输出一个整型数字。

    样例输入
    4
    2 6 3 3
    样例输出
    8

    提示:考虑利用异或的特性解题

    代码实现

    
    '''
    求不重复数字之和
    给定一组
    展开全文
  • #include<iostream>... /* * 给定N非0的数字,用其中任意2个数字可以组合成12位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、...

    #include<iostream>
    #include<math.h>
    #include<stdlib.h>
    using namespace std;
    int main()
    {

    /*
    * 给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。

    输入格式:

    输入在一行中先给出N(1<N<10),随后是N个不同的非0个位数字。数字间以空格分隔。

    输出格式:

    输出所有可能组合出来的2位数字的和。

    输入样例:
    3 2 8 5
    输出样例:
    330
    */

    int arrary[10] = { 0 };
    int count = 0;
    cin >> count;
    int sum=0;
    if (count > 9)
    {
    return 0;
    }
    for (size_t i = 0; i < count; i++)
    {
    cin >> arrary[i];
    }
    for (size_t i = 0; i < count; i++)
    {
    int x = arrary[i];
    for (size_t j = 0; j < count; j++)
    {
    if (arrary[j] != x)
    {
    int y = arrary[j];
    sum += x*10+y;
    }
    }
    }
    cout << sum;
    return 0;
    }

    转载于:https://www.cnblogs.com/linxuemufeng/p/8847214.html

    展开全文
  • 题目要求:将1~9这9个数字分成三,每中的三数排成一三位的完全平方数,要求每个数字必须且只能用一 。 思路如下: 1、先造一数组num[]用来标记1到9这几个数字是否已经被使用过。比如:num[1] = 0,表示&...

    题目要求:将1~9这9个数字分成三组,每组中的三个数排成一个三位的完全平方数,要求每个数字必须且只能用一次 。
    思路如下:
    1、先造一个数组num[]用来标记1到9这几个数字是否已经被使用过。比如:num[1] = 0,表示"1" 还没被使用过,而 num[1] = 1,则表示"1"前面已经用过了,要重新取数。 每次取数之前都判断一下要取的数对应的num[]标志,这样就解决了 “每个数字必须且只能用一次” 。
    2、然后是要造一个三位的数,用三层嵌套循环,比如第一层是遍历百位的数 ,从“1”到“9”一直遍历取数字,后面两层同理,最后造的三位数等于:100x百位的数字+10x十位的数字 +个位的数字;
    3、得到一个没有重复数字的三位数后就要判断此数是否为完全平方数。判断的方法很简单,就是判断此数的开方是不是整数,是的话就说明这个数是完全平方数,然后把它打印出来。
    重复2、3步的操作,执行程序完后输出的三个数是: 169 256 324

    #include <stdio.h> 
    #include <math.h>
     
    int judge_perfect_square(int x){
    	if (sqrt(x) == (int)sqrt(x))
    		return 1;
    	else
    		return 0;
    }
    main(){
    	int i, x, y, z, ps, num[10];
    										
    	for(i = 1; i < 10; i++)				//Initialize num[] 
    		num[i] = 0;
    		
    	for(x = 1; x < 10; x++){			//hundreds
    		if(num[x] == 1)					//judge whether the number has already been taken
    			continue;
    		num[x] = 1; 					//Make a mark
    		for(y = 1; y < 10; y++){		//tens 
    			if(num[y] == 1)				//Judge whether the number has already been taken
    				continue;
    			num[y] = 1;					//Make a mark
    			for(z = 1; z < 10; z++){	//units
    				if(num[z] == 1)			//Judge whether the number has already been taken
    					continue;
    				num[z] = 1;				//Make a mark
    				ps = 100*x + 10*y + z; 	//the three-digit number
    				if(judge_perfect_square(ps)) //Judge whether the number is perfect square
    					printf("%d  ", ps);		  				
    				else
    					num[z] = 0; 		//clear the mark if the number is not a perfect square
    			}
    			num[y] = 0;
    		}
    		num[x] = 0;
    	}
    }
    
    展开全文
  • 首先,我们知道两相同的数字进行异或操作时为0,如果题目里面只有一个数字出现一的话,我们就可以直接对数中的所有数字进行异或操作,最后得到的数字就是单独出现的那个数字,但是题目中给的是2出现一的...

    求出两个只出现一次的数字

    1. 首先,我们知道两个相同的数字进行异或操作时为0,如果题目里面只有一个数字出现一次的话,我们就可以直接对数组中的所有数字进行异或操作,最后得到的数字就是单独出现的那个数字,但是题目中给的是2个出现一次的数字,那我们尝试可以把这个数组拆分成两个数组,将两个出现一次的数字分到不同的组里面,在进行异或操作
    <?php
    $arr=array(1,1,2,2,3,3,4,5,4,5,7,6,7,6,8,9,9,8,10,12,11,12,10,100);
    $result=0;   //先得到两个出现一次的数字异或的值,然后进行右移操作,
    如果余数是1的话,那么这个bit位的1就是两个数字中的一个,而另外一个数
    字,这个bit位就不可能是1了,所以我们可以根据这个标志来拆分数组。而两个
    
    相同数字该位的值都是一样的(同为0,或同为1for($i=0;$i<count($arr);$i++){
            $result^=$arr[$i];  
        }
    $index=0;   //index为右移的位数
    while(($result%2)&1==0){
        $result>>1;
        $index++;
    }
    $num1=0;   //用于保存两个数字中的一个
    $num2=0;
    for($i=0;$i<count($arr);$i++){
        if(($arr[$i]>>$index)&1)  //如果为0,为一组
            $num1^=$arr[$i];
        else
            $num2^=$arr[$i];   //为1,为一组
    }
    echo "num1:",$num1,"<br />";  
    echo "num2:",$num2;
    
    展开全文
  • 首先我们考虑这问题的一简单版本:一数组里除了一个数字之外,其他的数字都出现了两。请写程序找出这只出现一数字。 这题目的突破口在哪里?题目为什么要强调有一个数字出现一,其他的...
  • 把1,2,3,4,5,6,7,8,9共九数分成三构成排列a1a2a3,a4a5a6,a7a8a9,而且每个数字使用有且仅有一,构成的排列之比为3:2:1,求输出所有的排列组合。 方法一: 显然a1a2a3,a4a5a6,a7a8a9在[123, 987...
  • 数组中只有两个数字是出现一,其他所有数字都出现了两。找出这两个数字,编程实现。 本题思路: 1.将0与数组每元素依次亦或的结果就是两只出现一的元素亦或的值,相同元素的二进制位是相同的,亦或...
  • 比如(0, 1, 2) 列出这三个数字的任意组合,组合长度为3: 000,001,002,100,101,102..... 需要一算法,特此记录 使用递归完成,随着可选数字的增多,需要的时间也大大增加,当需要11电话号码的所有组合,则有10的10次方...
  • 利用python实现数字组合

    千次阅读 2017-11-21 22:32:00
    即第一输入的每一个数字与第2输入的每一个数字进行俩俩组合。 1 2 3 4 5 6 7 8 9 10 11 num1=input('请输入0-9之间任意一或多个数字:') num2=input('请再次输入0-9之间任意一或...
  • 原题:一老师从2到9中取两个数字,给甲说了积,给乙说了和, # 甲说我不知道,乙说我也不知道,甲说你不知道那我就知道了, # 乙说你知道了那我也知道了 # 这两数分别是多少?   # ============
  • 8-16位数字和字符组合,不能纯数字、纯英文 var filter = /^(?=.*[0-9\!@#\$%\^&\*])(?=.*[a-zA-Z]).{8,16}$/; let blnTest = filter.test('q12345678')
  • 包含大小写字母、数字、特殊字符至少3组合大于8个字符 java public static final String PW_PATTERN = "^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\\W]+$)(?![\\d\\W]+$)\\S{8,}$"; ...
  • 统计20个数字中,一共有多少个不同的数字? 对比2中,不重复的数字有几,分别是什么?(不考虑本中的重复数字) 对比2中,重复的数字有几,分别是什么?(不考虑本中的重复数字) import random ...
  • 在第一份工作结束的时候,还是java小白,找工作的时候去面试,碰到一算法题:从十个数字中选取八个数字排列,重复算一,一共有多少种可能?当时想了半天也没想出来,虽然是数学上的排列组合算法,但是还是想...
  • //若有1、2、3个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? import java.util.*; public class Liu { public static void main(String[]args) { int num = 0; for (int a = 1;a&...
  • 思路:1)如果把数组中的所有数字都依次异或一遍,则可以消掉成对出现的数字,那么还有两个数字是单一的,肯定也不同,那么最终异或的结果肯定不是0。表示在二进制中肯定有一位是1,那么两不同的数字,一定有一在...
  • [a-z0-9A-Z] 这是匹配一字母或者数字。 如果匹配一或者多,请在后面加上+号。 如果匹配0或者多,请在后面加上*号
  • 问题描述: 将1-9的9个数字不重复的填入[ ][ ][ ] + [ ][ ][ ] = [ ]...将9不重复数字填入到9位置并且满足等式成立条件,可以看做求9数组的全排列,只要全排列满足 前3个数字 + 中间3个数字 = 最后3个数字即可...
  • 902. 最大为 N 的数字组合

    千次阅读 2019-06-25 08:00:34
    现在,我们用这些数字进行组合写数字,想用多少次就用多少次。例如D = {'1','3','5'},我们可以写出像'13', '551', '1351315'这样的数字。 返回可以用 D 中的数字写出的小于或等于 N 的正整数的数目。 ...
  • def count_num ( ) : count = 0 for i in range ( 1 , 5 ) : for j in range ( 1 , 5 ) : for ...'一共有{}互不相同且无重复数字的3位数' . format ( count ) )
  • 怎么编程你输进去一数据 然后输出的会是一数列 其中前两个数字之和等于第三个数字。例如你输入7, 输出会显示1,2,3,5,8,13,21(每行显示一数)
  •   在日常的编程中,经常会遇到求一数据中是否有相同数字的情况,这问题其实还是相对比较棘手的,我将用一道很经典的题来探讨这问题。 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说...
  • 数字组合(背包计数)

    万次阅读 2017-08-24 18:08:59
    2046: 数字组合 时间限制: 0 Sec 内存限制: 128 MB 提交: 2 解决: 1 ...第一行是两个数字,表示N和M。 第二行起是N数。 输出 就一个数字,表示和为M的组合的个数。 样例输入 4 4
  • 本系列文章地址:http://blog.csdn.net/MoreWindows/article/category/859207首先来看题目要求:在一数组中除两个数字只... 考虑下这题目的简化版——数组中除一个数字只出现1外,其它数字都成对出现,要求尽快
  • 用 0到9 生成 十位数的所有排列组合,数字0不能在第一,这生成的十位数, 不能有重复的数字
  • 数字转换为数 / 字符串转数字

    千次阅读 2019-06-04 19:38:23
    数字转为数组: function digitize(n) { //接受一number类参数,拆分成一数组并返回 var str = n + ""; //加上空字符中,把接收的参数转换为字符串 var arr = []; //声明结果空数组,稍后返回 str.split(...
  • 整型数组里除了两个数字之外,其他的数字都出现了两。请写程序找出这两只出现一数字。 直接将里面的每个数字映射到字典里,然后作为索引,出现次数作为值,最后取出值为一的索引值。 代码如下: # -*- ...
  • 题目描述:输入一整数数,实现一函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 1...
  • 8-12位字母数字组合正则

    千次阅读 2016-10-13 09:08:04
    function lost(){  var input=document.getElementById("pas");  var input_value=input.value;  alert(input_value)  var patrn =/(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{8,12}/;  inp

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 820,620
精华内容 328,248
关键字:

8个数字可以组多少次