独特区间的编程

所谓独特区间就是一个数组中若某一段区间中的数值都是两两不同的,那么这个区间就是独特区间,编程要求:输入两行,第一行为输入数组的元素的个数,第二行为数组的元素,以空格区分,输出为一行,包含一个整数为最终的答案。

代码如下

#include <iostream>
using namespace std;

bool fun(int*,int);
void main()
{
	cout<<"please enter the number: ";
	int num;
	cin>>num;
	cout<<"please enter the array: ";
	int *X=new int[num];
	for(int i=0;i<num;i++)
	{
		cin>>X[i];
	}
	int counter=0;
	for(int i=0;i<num;i++)
	{
		for(int j=0;j<num-i;j++)
		{
			if(fun(X+i,j+1)) counter++;
		}
	}
	cout<<counter<<endl;
}

bool fun(int *A,int n)
{
	int temp=A[0];
	for(int i=0;i<n;i++)
	{
		temp=A[i];
		for(int j=i+1;j<n;j++)
		{
			if(temp==A[j]) return false;
		}
	}
	return true;
}

测试结果如下

独特区间的编程

时间: 2024-10-29 19:09:57

独特区间的编程的相关文章

儿童学编程的原因以及方法

无论你的孩子在长大后能否成为下一个扎克伯格,编程对他或者她来说都是一个非常有用的技能.它会帮助你的孩子提高解决问题的能力.创造力和沟通能力.同时,这对你来说也是一种乐趣.这里有一些经过检验的优秀的应用程序,可用来辅导任何年龄段的孩子学习编码. 没有比现在更合适的时候了. 如果我们让孩子学习维修技术,那么很难想象等他们年龄大点的时候能开发出惊人的应用程序和工具.但最重要的是,当你向你的孩子介绍编程的时候,他/她不光光是在学习编程,而且还是在通过编程学习其他东西,麻省理工学院教授Mitchel Re

整数区间

整数区间请编程完成以下任务: 1.从文件中读取闭区间的个数及它们的描述: 2.找到一个含元素个数最少的集合,使得对于每一个区间,都至少有一个整数属于该集合,输出该集合的元素个数. [输入] 首行包括区间的数目n,1<=n<=10000,接下来的n行,每行包括两个整数a,b,被一空格隔开,0<=a<=b<=10000,它们是某一个区间的开始值和结束值.[输出]第一行集合元素的个数,对于每一个区间都至少有一个整数属于该区间,且集合所包含元素数目最少.[样例输入] 4 3 6 2

B - 整数区间

B - 整数区间 Time Limit: 1000/1000MS (C++/Others) Memory Limit: 65536/65536KB (C++/Others) Problem Description 一个整数区间[a,b](a < b),是一个从a到b连续整数的集合. 现在给你n个整数区间,编程找出一个集合R,使得n个集合中的每个集合都有2个整数出现在R中,并且这个集合R包含的整数个数最少. Input 第一行包含整数n(1 <= n <= 10000),表示整数区间的个数

实验二结对编程 第二阶段

实验目标 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 实验内容 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 1.代码规范 (1)空行与空格:空行起着分隔程序段落的作用,空行得体将使程序的布局更加清晰.每当定义变量和函数后都要

C++ Primer 第四版读书笔记(八)之顺序容器

容器容纳特定类型对象的集合. 标准库vector类型,是一个顺序容器.它将单一类型元素聚集起来称为容器,然后根据位置来存储和访问这些元素,这就是顺序容器.顺序容器的元素排列次序与元素值无关,而是由元素添加到容器里的次序决定. 标准库定义了三种顺序容器类型:vector.list和deque.它们的差别在于访问元素的方式,以及添加或删除元素相关操作的运行代价.标准库还提供了三种容器适配器.实际上,适配器是根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型. 顺序容器类型 顺

C++ stringstream介绍,使用方法与例子

From: http://www.usidcbbs.com/read-htm-tid-1898.html C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件. istringstream类用于执行C++风格的串流的输入操作. ostringstream类用于执行C风格的串流的输出操作. strstream类同时可以支持C风格的串流的输入输出操作. istringstream类是从istream

程序设计中的组合数学——鸽巢原理

回想到高中的的组合学中,有这样的问题,12个班中有13个人参加IOI的名额(前提每班至少出一个人),那么这会有几种分法? 一个很简单的思路就是把这13个名额摊开,然后拿11个隔板插到这13个名额形成的12个空隙里,然后用组合数的公式即可计算.而鸽巢原理的简单形式就和这个模型有联系. 我们知道,如果把12只鸽子放到11个巢里面,显然有一个巢会出现两只鸽子,这显而易见,同时也是鸽巢原理的最简单的形式. 它的证明也和简单,如果我们假设11个巢穴里最多有1个鸽子,那么各自的总数最多有11个,这一12只鸽

Go36-16,17-goroutine

go语句及其执行规则 学习之前先看一下下面这句话: Don't communicate by sharing memory; share memory by communicating. 不要通过共享数据来通讯,要以通讯的方式共享数据. 通道(也就是 channel)类型的值可以被用来以通讯的方式共享数据.更具体地说,它一般被用来在不同的goroutine之间传递数据. 这篇主要讲goroutine是什么.简单来说,goroutine代表着并发编程模型中的用户级线程. 调度器 Go语言不但有着独

go语句及其执行规则

参考:https://time.geekbang.org/column/article/39841?utm_source=weibo&utm_medium=xuxiaoping&utm_campaign=promotion&utm_content=columns 不要通过共享数据来通讯,恰恰相反,要以通讯的方式共享数据. Don't communicate by sharing memory; share memory by communicating. 一个进程至少会包含一个线程