不求答案求题目

virm 2005-06-22 11:53:58
初学C,学到数组,挺晕的
希望大家给几个有趣又提高的题目
不要太难(我怕打击),也不要太容易(书上很多),关键要有趣,有意思
最好能 多个循序渐进的又各出心裁 的题目
望不吝赐教,也欢迎大家在这里交流初学数组的苦乐
欢迎支持

我会做这些题目,到时候请大家再来指点
...全文
410 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
alex460 2005-07-22
  • 打赏
  • 举报
回复
矩阵转置 最简单


...........................好好学习 天天向上
gxd305 2005-07-19
  • 打赏
  • 举报
回复
最经典的
魔方
迷宫
八皇后
iori40995 2005-07-17
  • 打赏
  • 举报
回复
http://acmicpc-live-archive.uva.es/nuevoportal/data/problem.php?p=3269
virm 2005-07-15
  • 打赏
  • 举报
回复
再顶啊,难道编程只是为了解决别人制造的问题吗?真的没有可以 Enjoy 的程序吗?
virm 2005-07-05
  • 打赏
  • 举报
回复
自己顶,希望看到更多的高手来捧场
virm 2005-06-29
  • 打赏
  • 举报
回复
这样翻译可以吗?
------------------------------------------------------
我们都热爱递归,对吗?
考虑下面一个三参数函数 w(a,b,c)

如果有一个参数小于等于0,返回1
如果有一个大于20,返回 w(20,20,20)
如果 a小于b 且 b<c 返回 w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c)
其它情况返回 w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1)
这个函数很容易实现,问题是:直接实现的话,对于一般的参数(例如 a = 15, b = 15, c = 15),计算出结果可能需要几个小时,因为递归实在太大型

输入
请输入多个三元整数组,每组一行,以 -1,-1,-1 标志结束,按照上面的考虑,有效地计算并输出结果

例如
1 1 1
2 2 2
10 4 6
50 50 50
-1 7 18
-1 -1 -1

输出

输出每个三元组的结果,形式如下:

w(1, 1, 1) = 2
w(2, 2, 2) = 4
w(10, 4, 6) = 523
w(50, 50, 50) = 1048576
w(-1, 7, 18) = 1



-----------------------------------------
不知道解释得对不对
这个数算出来有什么特别的意思吗?
不知道有什么解闷的题目
我会试试看的
jettylee 2005-06-29
  • 打赏
  • 举报
回复
做做看:


We all love recursion! Don't we?

Consider a three-parameter recursive function w(a, b, c):

if a <= 0 or b <= 0 or c <= 0, then w(a, b, c) returns:
1

if a > 20 or b > 20 or c > 20, then w(a, b, c) returns:
w(20, 20, 20)

if a < b and b < c, then w(a, b, c) returns:
w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c)

otherwise it returns:
w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1)

This is an easy function to implement. The problem is, if implemented directly, for moderate values of a, b and c (for example, a = 15, b = 15, c = 15), the program takes hours to run because of the massive recursion.


Input

The input for your program will be a series of integer triples, one per line, until the end-of-file flag of -1 -1 -1. Using the above technique, you are to calculate w(a, b, c) efficiently and print the result.

For example:
1 1 1
2 2 2
10 4 6
50 50 50
-1 7 18
-1 -1 -1


Output

Print the value for w(a,b,c) for each triple, like this:

w(1, 1, 1) = 2
w(2, 2, 2) = 4
w(10, 4, 6) = 523
w(50, 50, 50) = 1048576
w(-1, 7, 18) = 1



===========================================
原题链接:
http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=1579
virm 2005-06-26
  • 打赏
  • 举报
回复
回旋二维数组
这个好象很有挑战
不过我可以直接写出数学解啊

#define N 10

matrix[i][j] = 1+ (N^2 - (N-2*min(i,N-1-i,j,N-1-j))^2) +
(
(i==min(i,N-1-i,j,N-1-j) || (N-1-j)==min(i,N-1-i,j,N-1-j)) ?
( i+j- 2*min(i,N-1-i,j,N-1-j)) : ( 4*N-4-i-j- 6*min(i,N-1-i,j,N-1-j) )
)

结果,我不知道有没有更优美的算法没有

不知道有什么用数组能够更优美的表达的题目?
jettylee 2005-06-25
  • 打赏
  • 举报
回复
同: whatsouta(某疯子)

写写看这个吧
输入一个数字 输出回旋二维数组

输入3
输出
1 2 3
8 9 4
7 6 5

输入4
输出
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

依次类推~~~
virm 2005-06-24
  • 打赏
  • 举报
回复
有没有小型一点的,我现在很多函数不熟悉,图也不大会画
jsjjms 2005-06-24
  • 打赏
  • 举报
回复
写一些游戏,贪吃蛇,俄罗斯方块,写完自己玩,再改进,很有意思。
jsjjms 2005-06-24
  • 打赏
  • 举报
回复
写一个综合的项目,比如说一些简单的管理系统,
这样可以锻炼你的综合能力。
wwwtony110 2005-06-24
  • 打赏
  • 举报
回复
OK~~写个幻方程序~~一个行列式~~一个举阵变换~~你就觉得了解多了!!

我也写过~~了解了不小
virm 2005-06-23
  • 打赏
  • 举报
回复
除了书上的,还有什么好题目吗?
andy_bin 2005-06-23
  • 打赏
  • 举报
回复


实现数组的经典题目:josephusa啊!


或者是矩阵的行列式计算,求逆啊!
virm 2005-06-23
  • 打赏
  • 举报
回复
可是这个没什么意思,再说我还正刚刚学线形代数
我想最好是好玩点的
WingForce 2005-06-23
  • 打赏
  • 举报
回复
就实现矩阵运算好了
DF_4B 2005-06-23
  • 打赏
  • 举报
回复
把楼上的方法写成函数,日后经常会用到。。。
DF_4B 2005-06-23
  • 打赏
  • 举报
回复
使用数组实现二种经典排序方法:冒泡排序法与选择排序法。
使用数组实现二种经典查询方法:线性查找法与二分查找法。
foochow 2005-06-23
  • 打赏
  • 举报
回复
初学的时候只要把语法书上的搞懂就可以了吧,后面看数据结构和算法设计的时候在进一步的学习:P
加载更多回复(4)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧