首页 > 编程语言 > 详细

找出1——n+1的数组中唯一重复的数

时间:2016-01-07 08:48:50      阅读:726      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>
#include <stdlib.h>

/*
	给定含有n个元素的数组,
	其中存放了1-(n-1)之内的整数,
	只有一个整数是重复的,
	请找出这个数
*/

/*
	思路:
	num[0]+...+num[n-1] - (1+...+n)
*/

int main(){
	int n;
	while (printf("Please input n:\n"), fflush(stdin), scanf("%d", &n) != EOF){
		int *numbers = (int*)malloc(n*sizeof(int));
		for (int i = 0; i < n; ++i)
			scanf("%d", numbers + i);
		int sum = 0;
		for (int i = 0; i < n; ++i)
			sum += numbers[i];
		printf("%d\n",sum - (int)(n-1)*n/2);
	}
	system("pause");
	return 0;
}

  

找出1——n+1的数组中唯一重复的数

原文:http://www.cnblogs.com/mutaohengheng/p/5108045.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!