请定义一个宏,比较两个数的a.b的大小,不能使用大于.小于.if语句 方法一:    #define max(a,b) ((((long)((a)-(b)))&0x80000000)?(b):(a))  若a>b,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a: 否则,a-b为负数,最高位为1,与上0x80000000(最高位为1其他为0)之后为1,所以此时最大数为b. 方法二:     #define max(a,b) ((((a)-(b))&(1<<31)…
提供一种算法: #define max(a, b) ((((a)-(b)) + fabs(a-b))?(a):(b))…
题目:有两个指针pa,pb分别指向有两个数,a,b,请写一个函数交换两个指针的指向,也就是让pa指向b,让pb指向a,具体实现如下: #include<stdlib.h> #include<stdio.h> int swap_ptr(int ** pA, int ** pB) {     if (pA == NULL || pB == NULL)     {         return 0;     }     int * pTemp = *pA;     *pA = *pB;…
对一个范围的两个数进行数位的累加,例如有两个数 15,19则 他们的数位和应该为: 1+5+1+6+1+7+1+8+1+9,结果为40. 测试说明 样例1 输入:1519 输出: 40 以下是不同方法实现方式: 代码1 class Task: def getSum(self,num1,num2): sum_num = 0 input_num = [num1, num2 + 1] a = list(range(*input_num)) for i in a: j = list(map(int, s…
D. Black Hills golden jewels time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output In Rapid City are located the main producers of the Black Hills gold jewelry, a very popular product among tour…
代码一大串! #include<stdio.h> ],y[]; void arraycopy (double c[],double d[],int m); { ;i<=m;i++) b[i]=a[i]; } int main() { int i,o; scanf("%d",&o); ;i<=m;i++) scanf("%lf",&x[i]); arraycopy(x,y,o); ;i<=m;i++) printf(&qu…
#!/usr/bin/python # 导入math包 import math def quadratic(a, b, c): if not isinstance(a, (int, float))and isinstance(a, (int, float)) and isinstance(a, (int, float)): raise TypeError('a or b or c must be a number') dt = int(b) ** 2-(4*int(a)*int(c)) if a…
分析,两个数字的和为N.那么这两个数字是否是唯一的呢?输出的下标是否是第一对出现的呢? 1,我们假设这两个数字是唯一的 和是唯一的,那么其中一个数字越大,另一个数字就越小.想到大小关系,我们就想到了排序.那么首先排序: int array[]={ 1, 2, 7, 9, 13, 57, 36, 26, 55, 11, 9, 6, 3, 89, 36, 75, 36, 76, 95, 98, 101, 320, 520, 85, 36, 62, 49, 96, 1 }; 因为要返回原始下标,所以要…
--假设为A B两个字段--查询Select A As B, B As A From TableName --更新Update TableName Set A = B, B = A…
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0的两个解. 提示: 一元二次方程的求根公式为: x1 = (-b + math.sqrt((b * b) - (4 * a * c))) / (2 * a)x2 = (-b - math.sqrt((b * b) - (4 * a * c))) / (2 * a) 计算平方根可以调用math.sqrt()函数 # -*- coding: utf-8 -*- # 请定义一个函数quadrati…
1.宏的功能介绍 在 C 语言中,可以采用命令 #define 来定义宏.该命令允许把一个名称指定成任何所需的文本,例如一个常量值或者一条语句.在定义了宏之后,无论宏名称出现在源代码的何处,预处理器都会把它用定义时指定的文本替换掉. 关于宏的一个常见应用就是,用它定义数值常量的名称: #define ARRAY_SIZE 100 double data[ARRAY_SIZE]; 这两行代码为值 100 定义了一个宏名称 ARRAY_SIZE,并且在数组 data 的定义中使用了该宏.惯例将宏名称…
题目:有两个数a,b,请写一个函数交换a,b,具体实现如下: #include<stdlib.h> #include<stdio.h> int swap(int * pA, int * pB) { if (pA == NULL || pB == NULL) { return 0; } int nTemp = *pA; *pA = *pB; *pB = nTemp; return 1; } int main() { int a = 3; int b = 5; printf("…
17.从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式, 输出杨辉三角形的前n行.请采用循环控制语句来实现. (三角形腰上的数为1,其他位置的数为其上一行相邻两个数之和.) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 package com.bao; import java.util.Scanner; public class Yanghui { public static void main(String[] args) { Scanne…
要点:变量都用括号括起来,防止出错,结尾不需要;.在实际编程中,不推荐把复杂的函数使用宏,不容易调试.多行用\ 要写好C语言,漂亮的宏定义是非常重要的.宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等. 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义.那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍. 我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义: #define MAX(a, b) ((a)…
学习教程:廖雪峰-Python教程-函数-函数定义 学习记录:[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解] 学习心得: 1.对问题进行判断分析后再下手. 一元二次方程需分析根的情况,当△大于零时,有两个根:当△等于零时,有一个根:当△小于零时,无解. 需三种情况进行判断,再进行计算,再打印输出结果. 2.在原题基础之上我增加的问题 ①用户输入a,b,c三个值,更加人性化 ②对返回的根进行判断,判断根为整数(int)还是浮点数(float).若为整数…
这是Thinking in java 中的一道题,下面是我的解决方案: package test; import java.util.LinkedList; import java.util.ListIterator; /** * * 创建一个LinkedList,然后在其中插入多个值,确保每个值都插入到List中间(偶数中间两个数之一,奇数在正中间) * */ public class InsertInMiddle { public static void main(String[] args…
输入两个数,第一个数决定一个nXn的矩阵,第二个数决定从1开始赋值,赋值的上限 比如: 输入: 输出: 输入: 输出: #include<stdio.h> int main(void) { int n,m,i,j,temp; ; //0向右,1向下,2向左,3向上, scanf("%d%d",&m,&n); int arr[m][m]; //对数组初始化 arr[m][m] = {0}编译不通过 ; i<m; i++) { ; j<m; j++)…
//在两个数成对出现的数组中找到一个单独的数.比如{1,2,3.3,1,4.2},即找出4 #include <stdio.h> int find(int arr[], int len) { int i = 0; int ret = 0; for (i = 0; i < len; i++) { ret = ret^arr[i]; } return ret; } int main() { int arr1[] = { 1, 2, 2, 3, 1, 5, 3 }; int arr2[] =…
谷歌面试题:输入是两个整数数组,他们任意两个数的和又可以组成一个数组,求这个和中前k个数怎么做? 分析: "假设两个整数数组为A和B,各有N个元素,任意两个数的和组成的数组C有N^2个元素. 那么可以把这些和看成N个有序数列: A[1]+B[1] <= A[1]+B[2] <= A[1]+B[3] <=- A[2]+B[1] <= A[2]+B[2] <= A[2]+B[3] <=- - A[N]+B[1] <= A[N]+B[2] <= A[N]…
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, 如果有多对数字的和等于S,输出两个数的乘积最小的. 这道题有很多烟雾弹: 首先如果有多对,最前面的两个数就是乘积最小的,这是数学结论吧,自己测试: 然后两个小标,一个start在数组前移动,一个end在数组后做--运动: 先拿第一个元素和最后一个元素相加,与要求的数字进行比较: 1)如果等于,恭喜找到了: 2)如果大于,则将第二个指针向后移一位(索引值-1),再求和进行比较: 3)如果小于,则将第一个指针向前移一位(…
因标题框有限,题目未显示完整,以下再放一份: 定义一个复数(z=x+iy)类Complex,包含: 两个属性:实部x和虚部y 默认构造函数 Complex(),设置x=0,y=0 构造函数:Complex(int i,int j) 显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式. 求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2) 求两个复数的差的方法:(参数…
给定一个整数数列,找出其中和为特定值的那两个数. 你可以假设每个输入都只会有一种答案,同样的元素不能被重用. 示例: 给定 nums = [2, 7, 11, 15], target = 9; 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] class Solution { public int[] twoSum(int[] nums, int target) { int[] result = new int[2]; Map<Integer,Intege…
求最小的两个数相加为sum //求最小的两个数相加为sum public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { List<Integer> list = new ArrayList<Integer>(); if(array == null || array.length==0){ return (ArrayList<Integer>) list; } for(int i=0…
题目显示不全,完整题目描述: (1)定义闭合图形抽象类ClosedFigure定义属性:1.形状:2.定义构造方法,给形状赋值:3.定义两个抽象方法:计算面积和计算周长:4.定义一个显示方法:显示图像形状,周长,面积:(2)定义ClosedFigure的子类椭圆Ellipse定义属性:1.长短轴定义构造方法:初始化长短轴:2.实现从父类继承来的抽象方法:[提示:椭圆求周长公式Math.PI*(this.radius_a+this.radius_b)](3)定义ClosedFigure的子类矩形类…
描述 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是 0 到 n-1. 你可以假设只有一组答案. 样例 Example1: 给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1]. Example2: 给出 numbers = [15, 2, 7, 11], target = 9, 返回 [1, 2]. /** * @pa…
题目描述 给定一个整数数组,找出其中两个数相加等于目标值 输入 [1,3,5,7,9,11] 10 输出 1,9 3,7 代码: import java.util.HashMap; import java.util.HashSet; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str…
接口(interface )概念概念笔记 及测试代码: /** 面向对象: 接口(interface ) 是与类并行的一个概念: * 1.接口可以看成一个特殊的抽象类,它是常量与抽象方法的一个集合 * 2.接口里的常量默认: public static final 类型! * 3.接口里的抽象方法,默认所有方法是: public abstract 修饰 * 4.接口没有构造器. * 5.接口定义的是一种功能 ,此功能可以被类所实现(implements),比如:class BB (extends…
1 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 2 思路和方法 数组已经排好序了,设定两个指针small和big指向两端,如果两者的和大于sum,big左移,如果小于sum,small右移,一旦等于,那么同时这两者也正好是乘积最小的一对(3和9,4和9,6和6,不难看出3和9的成绩最小),我们就可以结束了. 3 C++核心代码 class Sol…
A. Minimum Difficulty time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Mike is trying rock climbing but he is awful at it. There are n holds on the wall, i-th hold is at height ai off the g…
package leetcode;import edu.princeton.cs.algs4.Cycle;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;import java.util.List;import java.util.function.Consumer;public class FirstDay { public static void main(String[] args…