编程题(2):组装三角形

计蒜课-统计三角形 给N根不同长度的木棍,求这些木棍一共能拼出多少个不同的不等边三角形。注意在拼三角形的时候一定要用上所有的N根木棍。不同的定义是至少有一条边的长度不相同;不等边的定义是三条边都不相等。输入格式:第一行为数据组数T,(1<=T<=15)。 接下来每行数据占两行,第一行为木棍的数量N(1<=N<=15) 第二行有N个正整数li(1<=li<100),表示N个木棍的长度。保证每个长度都不相同。输出格式: 阅读详情

[编程题] 组装三角形

牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。 

输入描述:

首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。

N ≤ 50, 木棒的长度 ≤ 10000.

输出描述:

输出一个整数表示方法数。

输入例子:

5
1 2 3 4 5

输出例子:

3

代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        sc.nextLine();
        String[] s=sc.nextLine().split(" ");
        int[] a=new int[n];
        for(int i=0;i<n;i++){
            a[i]=Integer.parseInt(s[i]);
        }
        int res=triNum(a);
        System.out.println(res);
    }
    /** 
     * @param a  数组中放三角形边长
     * @return   可以组成的三角形的个数
     */
    public static int triNum(int[] a) {
        int len=a.length;
        int count=0;
        for(int i=0;i<=len-3;i++){           //1,2,3,4则i最多到2需要循环两次
            for(int j=i+1;j<=len-2;j++){     //1,2,3,4则j最多到3
                for(int k=j+1;k<=len-1;k++){
                    if(a[i]+a[j] > a[k] && a[i]+a[k]>a[j] && a[j]+a[k]>a[i] ){
                        count++;
                    }
                }
            }
        }
        return count;
    }
}
[编程题]寻找三角形 C++ 腾讯 [编程题]寻找三角形 三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用’R’, ‘G’, 'B’表示。 现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大。 但是三角形必须满足:三个点的颜色要么全部相同,要么全部不同。 输入描述: 首先输入一个正整数N三维坐标系内的点的个数.(N <= 50) 接下来N行,每一行输入 c x y z,c为’R’, ... 阅读详情

相关推荐

【GESP真题解析】第 7 集 GESP 一级 2023 年 6 月编程题 2:累计相加

GESP C++ 2023 年 6 月 编程题第二题:累计相加 解析

程序员莫小特的编程世界 1430

【GESP真题解析】第 4 集 GESP 二级 2023 年 3 月编程题 1:画三角形

GESP C++ 二级 2023 年 3 月 编程题第一题:画三角形 解析

程序员莫小特的编程世界 989

【算法】算法测试题2:组装三角形

题目描述 牛牛有n根木棒,编号为1-N,从中取3根,使得这三根木棒可以构成一个三角形。请问有几种取法?(编号不一样则为不同取法) 输入 第一行为正整数n,表示有n个木棒 接下来n行为每个木棒的长度 n<=50, length <= 10000. 输出 取法数 思路 三角形三边关系:任何两边相加大于第三边,任何两边相减小于第三边...

weixin_34404393的博客 561

木棒三角形 C语言实现 枚举算法

木棒三角形 C语言实现 枚举算法 求直角三角形的面积

PID温控实验平台搭建(二)——PID进阶知识介绍及源码分享

最近,我突发奇想去翻阅了一些我本科期间所做的一些小项目,发现都挺有意思的!希望通过我的讲解文章可以帮助你们少走一些弯路!今天,我要分享的是一个PID温控实验平台的搭建,这是一个系列文章,手把手地教你学习和认识PID算法,了解这种算法在温度控制中的应用。由于我知识有限,如果出现一些错误,希望大家可以帮助我指出来,我们一起学习进步!!!

qq_35953617的博客 8048

【Gym - 101397D】Acute Triangles【锐角三角形个数】

题意: 给出 nnn 个点,先从中任意选取三个点,使得这三个点为一个锐角三角形,问一共有多少个锐角三角形。(3≤n≤2000)(3\leq n\leq 2000)(3≤n≤2000) 思路: 正难则反,很明显正向思考这题难度非常高,因此考虑逆向思考,即能够构造出的直角和钝角三角形个数。 我们枚举一个点,然后按这个点对其它所有点进行极角排序,然后进行双指针枚举,枚举一个刚好变成直角的点,再枚举一个...

lucius-liu.cn 645

RK3588开发板实战:从零开始移植Ubuntu 24.04(讯为SDK版)

本文详细介绍了如何在RK3588开发板上从零开始移植Ubuntu 24.04系统(讯为SDK版),涵盖开发环境准备、SDK解析、根文件系统定制、驱动适配、系统集成与烧录等全流程。通过实战案例,帮助开发者快速掌握RK3588开发板的系统移植技巧,适用于嵌入式开发与定制化Linux系统构建。

sand8的博客 436

[编程题] 组装三角形

牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。 输入描述: 首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。N ≤ 50, 木棒的长度 ≤ 10000.输出描述: 输出一个整数表示方法数。输入例子: 5 1 2 3 4 5输出

小明的博客 3239

继电器的选型规范

触点是继电器中最重要的结构件,触点的使用寿命受触点材料、触点上的电压及电流值(特别是接通时及断开时的电压、电流波形)、负载种类、切换频率、环境情况、接触形式、触点回跳现象等的影响,触点失效多以触点的材料转移、粘连、异常消耗、接触电阻增大等故障现象出现,使用时需要注意。为了稳定工作, DC 型继电器的线圈两端所加电压推荐使用波纹变化率小于±5%的线圈额定电压,否则继电器会工作不稳定,引起触点的粘接或异常损耗,特别是在继电器的驱动电路上连接有电动机、螺线管、变压器等器件时,这种情况更为明显。

qq_43416206的博客 1878

Java编程题:在控制台输入三角形的三条边,判断是否能构成三角形,如果能构成三角形,它属于何种三角形

Java编程题:在控制台输入三角形的三条边,判断是否能构成三角形,如果能构成三角形,它属于何种三角形百度网盘源码链接1.题目分析?2.接下来代码来喽?1.创建一个SanJiao类,用来写方法2.先写一个判断是否为三角形的方法,方法名为isSanJiao,该方法返回一个boolean类型的值3.再写一个==判断三角形类型==的方法,方法命名为==isType==,该方法返回三角形类型,在写该方法的过...

一只勤劳的二哈的博客 1万+

Android开发实战:5分钟搞定全屏沉浸式状态栏(附完整代码示例)

本文提供了Android开发中实现全屏沉浸式状态栏的完整实战指南。通过对比主题配置、动态代码设置和Window标志位三种方法,详细讲解了如何隐藏状态栏并处理布局适配。文章还涵盖了刘海屏、手势导航等高级适配场景,并附有可直接使用的工具类代码,帮助开发者快速提升应用视觉体验。

weixin_29197699的博客 357

[编程题] 寻找三角形

三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用’R’, ‘G’, ‘B’表示。 现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大。 但是三角形必须满足:三个点的颜色要么全部相同,要么全部不同。 输入描述: 首先输入一个正整数N三维坐标系内的点的个数.(N <= 50) 接下来N行,每一行输入 c x y z,c为’R’, ‘G’, ‘B’ 的其中

小明的博客 3880

从零开始掌握Python机器学习:七步教程 基础篇

前言 「开始」往往是最难的,尤其是当选择太多的时候,一个人往往很难下定决定做出选择。本教程的目的是帮助几乎没有 Python 机器学习背景的新手成长为知识渊博的实践者,而且这个过程中仅需要使用免费的材料和资源即可。 第一步:基本 Python 技能 如果我们打算利用 Python 来执行机器学习,那么对 Python 有一些基本的了解就是至关重要的。 首先,你需要安装 Python。因为我们后...

hcgx2018的博客 1612

YOLOv12改进前必看 - YAML模型配置文件详细解读(再也不用担心通道数不匹配) 附网络结构图

YOLOv12的模型配置文件在中,里面包含yolov12的以及的不同大小的模型,本文将详细介绍一下YOLOv12模型文件中各参数的含义。

Limiiiing的博客 3275

《编程题》组装三角形

题目:牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。 输入描述: 首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。N ≤ 50, 木棒的长度 ≤ 10000.输出描述: 输出一个整数表示方法数。输入例子1: 5 1 2 3 4

wickedvalley 1170

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

1004:字符三角形

1049:1004:字符三角形题目解答 题目 时间限制: 1000 ms 内存限制: 66536 KB 提交数: 36260 通过数: 20158 【题目描述】 给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。 【输入】 输入只有一行,包含一个字符。 【输出】 该字符构成的等腰三角形,底边长5个字符,高3个字符。 【输入样例】 【输出样例】 ...

weixin_44819587的博客 7409

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【C语言】——三角形类型判断编程题

1.判断三角形类型 给定三角形的三条边,a,b,c。判断该三角形类型。 输入描述:测试数据有多组,每组输入三角形的三条边。 输出描述:对于每组输入,输出直角三角形、锐角三角形、或是钝角三角形。 示例1 输入 3 4 5 输出 直角三角形 2.代码实现 #include<stdio.h> int main() { int a,b,c,t; scanf("%d%d%d",&a,&am...

咭咭熊的博客 4624

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

算法编程题-如何判断一个点是否在三角形内

对于上述判断两个点是否在一条直线同一边的方法,我的理解是这样的,因为二维向量叉乘是一个一维向量,根据右手法则判定的方向,显然如果不在同一边,叉乘结果的方向一定是相反的,体现在一维向量上,只能是正负性不一样,所以两个一维向量点乘的结果为正,则说明两个叉乘结果的方向是一样的。注意观察上图,可以发现,如果点在三角形内,那么对于任意一条边来说,该点和三角形剩下的一个点一定出现在这条边的同一侧,如果点不在三角形内,那么一定存在一条边,使得三角形外的该点和三角形剩下的一个点出现在这条边的两侧。这里可以利用叉乘的性质。

zhuohuashiyi 932

JSP:使用JavaBean实现计算三角形面积,判断三角形是否成立

功能: 1.输入三角形三条边,可在当前页面显示输入的三条边数值 2.可判断三角形是否成立 3.若成立可计算面积 使用JavaBean知识 JavaBean主要语句: <jsp:useBean id="bean的名字" class="创建bean的字节码" scope="bean的有效范围"/> <jsp:setProperty name="bean的名字" property="bean的属性" value="<%expression%>"/> <..

qq_35852228的博客 9810

【编程题】有效三角形的个数

leetcode刷题——有效三角形的个数

心之王者的博客 812

GESP二级 2025年6月 编程题

GESP二级 2025年6月 编程题

青少年趣味编程 1962
上一篇: 编程题(1):双核处理
下一篇: 2017-4-17
王小禾
博客等级 码龄11年 80粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值