main.cpp

来自「我做的一些C语言练习题,里面一共有76道题目,主要用到一些计算机常用的算法,如:」· C++ 代码 · 共 47 行

CPP
47
字号
/**************************************************************************************

  39. 一个集合满足如下条件:
   (1)1是集合的元素;
   (2) 若 P 是集合的元素,则 2*P+1,4*P+5 也是集合的元素。
 求:此集合中最小的 K 个元素。
  ③ 对ABC作全排列而得的六个三位数之和为 2886。
  ___   ___   ___   ___   ___   ___
  ABC + ACB + BCA + BAC + CAB + CBA = 2886
  2*(A+B+C)*100 + 2*(A+B+C)*10 + 2*(A+B+C) = 2886
  A+B+C = 13

**************************************************************************************/

#include <stdio.h>
#include <malloc.h>

void main()
{
	int *T;
	int k;
	int i,s,t;
	printf("请输入K的值:");
	scanf("%d",&k);
	T = (int*)malloc(k*sizeof(int));
	T[0] = 1;

	for(s=t=0,i=1; i<k; i++)
	{
		if(2*T[s]+1<4*T[t]+5)
		{
			T[i] = 2*T[s]+1;
			s++;
		}
		else
		{
			T[i] = 4*T[t]+5;
			t++;
		}
	}

	for(i=0; i<k; i++)
		printf("%8d",T[i]);
	printf("\n");

	free(T);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?