有趣的数

原创 2012年03月21日 08:49:58
 

有趣的数

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
描述

把分数按下面的办法排成一个数表。

1/1 1/2 1/3 1/4.....

2/1 2/2 2/3....

3/1 3/2 ....

4/1.....
.........

我们以z字型方法给上表的每项编号。特定方法:第一项是1/1,然后是1/2、2/1、3/1、2/2、1/3、1/4、2/3……。编程输入项号N(1<=N<=100000),输出表中第N项。

输入
第一行有一个整数m(0<m<=10),表示有m组测试数据;
随后有m行,每行有一个整数N;
输出
输出表中第N项
样例输入
4
3
14
7
12345
样例输出
2/1
2/4
1/4
59/99
代码:
#include<stdio.h>
int f(int n)
{
	if(n==1)
	return 1;
	else
	return f(n-1)+n ; 
}

int main()
{
	int n;
	scanf("%d",&n);
	while(n--)
	{
		int m;
		scanf("%d",&m);
		int c=0;
		int b=0;
		for(int i=1;;i++)
			if(f(i)>=m)
			{
				c=f(i)-m;
				b=i;
				break;
			}
		if(b%2!=0)
			printf("%d/%d\n",c+1,b-c);
		else
			printf("%d/%d\n",b-c,c+1);
	}
}

总结:

自己把它想复杂了,或者是自己一开始根本就束手无策没弄明白思路。

可以把这个图形右转45度,成一金字塔形状,每一行的分母和分子都与上一行有关系,并且每行的最大编号实际上就是前面所有分母的和。

当分母为奇数时,编号从左往右进行,当分母为偶数时,编号从右往左进行。

然后就OK了。

CCF CSP 有趣的数

组合数学,概率论 问题描述   我们把一个数称为有趣的,当且仅当:   1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。   2. 所有的0都出现在所有的1之前,而所有的2...

CCF习题 201312-4 有趣的数 (DP)

题意不说了,中文的题意!= =! 思路: DP思想! 可以这么想,设计一个二维的dp[i][j],i表示当前填第i个数,此时为第j 个状态! 第一维不用说,说说第二维! 总共有四个数0,1,...

第一次CCF-4-有趣的数(DP)

 问题描述 试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256....

P2022 有趣的数

//P2022 有趣的数 //此文写得不错,代码够短,http://www.cnblogs.com/shenben/p/5736624.html摘抄如下: //由于答案可能非常大,所以这道题显然不...
  • mrcrack
  • mrcrack
  • 2017年07月26日 23:32
  • 132

CCF201312-4 有趣的数(100分)

试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   我们把一个数称为有趣的,当且仅当:  ...

CCF201312-4 有趣的数 不会DP只会枚举

CCF201312-4 有趣的数 ,不使用DP的情况下枚举可能。附AC代码。

CCF 有趣的数

题目: 问题描述   我们把一个数称为有趣的,当且仅当:   1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。   2. 所有的0都出现在所有的1之前,而所...

CCF认证考试(java)---有趣的数

CCF认证考试(java)---有趣的数

一道有趣奥数题——“丢番图的墓志铭”

一道有趣奥数题——“丢番图的墓志铭”

BZOJ 1485: [HNOI2009]有趣的数列 卡特兰数

Description我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件:(1)它是从1到2n共2n个整数的一个排列{ai};(2)所有的奇数项满足a1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有趣的数
举报原因:
原因补充:

(最多只允许输入30个字)