| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1016 人关注过本帖
标题:编程思路求解
只看楼主 加入收藏
yy2222
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-11-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
编程思路求解
是好几题 ,请指导 。不需要程序 ,只要个思路 就好
1.两个 18位数的 数 相加,该怎么 写这个 函数?(目前的想法是用数组。但 貌似绕进一个湾里)
2.表述 不好。还是 个原题吧。。
Problem Description
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.

 

Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line starts with a number N(1<=N<=100000), then N integers followed(all the integers are between -1000 and 1000).

 

Output
For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line contains three integers, the Max Sum in the sequence, the start position of the sub-sequence, the end position of the sub-sequence. If there are more than one result, output the first one. Output a blank line between two cases.

 

Sample Input
2
5 6 -1 5 4 -7
7 0 6 -1 1 -6 7 -5
 

Sample Output
Case 1:
14 1 4

Case 2:
7 1 6
3. 一只小白兔在一条开满玫瑰花的路上,寻找一朵最美的玫瑰,小白兔不能后退也没办法看到看到前面的花,她怎么 才能找到一朵最美的玫瑰。(只能 摘 一次的 ,)

[ 本帖最后由 yy2222 于 2010-12-12 22:50 编辑 ]
搜索更多相关主题的帖子: 思路 求解 
2010-12-11 18:54
jianghong_02
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:143
专家分:476
注 册:2010-10-2
收藏
得分:0 
那就好办《你要知道写程序最重要的就是你要会用流程图……流程图是最关键的……多看流程图
2010-12-11 19:05
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
这个流程图没什么用,主要是算法。

第一个,就用你说的那个方法就行。有什么困难的地方,具体说一下。
第二个,n^2的方法肯定行。虽然是道比较常规的题,但我算法不行,不知道有什么更好的方法。
第三个,是不是可以这样。摘起第一朵花,然后往后走。如果看见比这个漂亮的,就换一朵。走到最后时,手里的肯定是最漂亮的。(就是一次遍历找最大值)
2010-12-12 01:20
li_danwang
Rank: 4
来 自:鄂州
等 级:业余侠客
帖 子:112
专家分:203
注 册:2010-11-12
收藏
得分:0 
第一题:主要是想办法如何判断你输入的数是否是18位数字,如果不是18位,则重新输入,如果是18位,则进行相加。你可以用你输入的数字X除以10的17次方,判断余数是否为1到9的数字就OK了.

第二题:先保留.

第三题:其实这个问题与以前数组里面找最大值是一样的道理,你先设置最好的玫瑰花是第一朵,然后与第二朵比较,如果比前面一朵(也就相当第一朵)好看,则与手上第一朵替换掉,如果没手上好看,就不换,后面以此类推...

没事来C一下...   
2010-12-12 09:58
wtoo2008
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-11-9
收藏
得分:0 
为什么我不能发贴的.
2010-12-12 16:57
ljt
Rank: 6Rank: 6
等 级:侠之大者
威 望:3
帖 子:191
专家分:431
注 册:2009-4-6
收藏
得分:0 
回复 4楼 li_danwang
个人觉得你第一题不可行,十的十七次方根本就不能算。还是的一位一位加,就像加法器那样,设计一个算法
2010-12-12 17:01
yy2222
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-11-13
收藏
得分:0 
第一题 ,只能自己设计 计算器 ,但脑里 没 个大概 很迷惑。相加 。
第二题。 n*2 不懂    用 一段不知长度的尺子,去取 一段数 ,可以从任意的位置开始,从任意的位置结束。。取最大。。
第三题  是 只能 摘 一次 ,想不通。
2010-12-12 22:54
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
收藏
得分:0 
第一题:可以用string存储加数与被加数,然后按位相加,注意进位
第二题:是简单的DP问题
第三题:只摘一次表示不解!
2010-12-12 23:45
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
第二题我也觉得是动态规划问题。楼上能詳細说一下吗?只说是DP几乎是费话。
2010-12-14 18:06
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:20 
以下是引用pangding在2010-12-14 18:06:55的发言:

第二题我也觉得是动态规划问题。楼上能詳細说一下吗?只说是DP几乎是费话。
int MaxSubsequenceSum(const int A[], int N)
{
    int ThisSum, MaxSum, j;
     
    ThisSum = MaxSum = 0;
    for (j = 0; j < N; j++)
    {
        ThisSum += A[j];
        if (ThisSum > MaxSum)
            MaxSum = ThisSum;
        else if (ThisSum < 0)
             ThisSum = 0;
    }
    return MaxSum;
}

跟这个代码类似,/  你帮我证明下哈

我就是真命天子,顺我者生,逆我者死!
2010-12-14 20:59
快速回复:编程思路求解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019135 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved