精英盒子 -> 程序设计 -> 【有奖问答】【技术贴】无循环关键字实现重复执行 [打印本页]

编程土豆 2012-01-29 15:49

【有奖问答】【技术贴】无循环关键字实现重复执行

题目如标题,怎样使用非循环语句实现1+2+3+。。。。。。+n的值?
也就是说,for、while、do以及if-else等等一系列循环关键字都不准用(也不准用乘法),你能实现么?

编程土豆 2012-01-29 15:50
呼唤

whtsky 2012-01-29 15:50
递归

whtsky 2012-01-29 15:54
不能用if-else!?

whtsky 2012-01-29 15:56
流程控制语句都不让用了还玩蛋啊

编程土豆 2012-01-29 17:05
我有方法{暂时不会告诉你们

whtsky 2012-01-29 17:18
你订《电脑编程技巧与维护》了?

mason 2012-01-29 19:10
loop rep就够了。

编程土豆 2012-01-29 22:33
whtsky:你订《电脑编程技巧与维护》了? (2012-01-29 17:18) 


这时神马书?

whtsky 2012-01-29 22:47
编程土豆:[表情]
这时神马书? (2012-01-29 22:33) 

这书上有原文,题目都和你的一模一样。。你是从哪看的?

whtsky 2012-01-29 22:51
int sum(int n)
{
    int m;
    m = n>1?sum(n-1):1;
    m + =n>1?n:0;
    return m;
}

whtsky 2012-01-29 22:53
或者直接计算n*(n+1)/2

编程土豆 2012-01-29 22:54
whtsky:[表情]这书上有原文,题目都和你的一模一样。。你是从哪看的? (2012-01-29 22:47) 

巧合,绝对巧合,题目是我自己想的

whtsky 2012-01-29 22:57
from __future__ import division
sum = lambda x:x*(x+1)/2
测试:
  1. >>> from __future__ import division >>> sum = lambda x:x*(x+1)/2 >>> sum(100) 5050.0 >>>
(python.)

whtsky 2012-01-29 22:59
用递归+assert+try/catch来实现也可以

whtsky 2012-01-29 22:59
好了,发奖吧。。

编程土豆 2012-01-29 23:18
原创内容

outman 2012-01-29 23:22
我才想过用?:的 结果被你抢了-、-

内容来自[手机版]

whtsky 2012-01-29 23:33
outman:我才想过用?:的 结果被你抢了-、-
内容来自[手机版]  (2012-01-29 23:22) 


whtsky 2012-01-29 23:51
http://blog.whtsky.tk/2012/01/29/%E6%97%A0%E5%BE%AA%E7%8E%AF%E5%85%B3%E9%94%AE%E5%AD%97%E5%AE%9E%E7%8E%B0%E9%87%8D%E5%A4%8D%E6%89%A7%E8%A1%8C

纯广告

jybox 2012-01-30 12:33
#include <iostream>
using namespace std;

class calcSun
{
public:
    static int sun;
    calcSun()
    {
        sun++;
    }
};
int calcSun::sun=0;

int main()
{
    calcSun calc100[100];
    cout<<calcSun::sun<<endl;
}

whtsky 2012-01-30 15:11
jybox:#include <iostream>
using namespace std;
class calcSun
{
....... (2012-01-30 12:33) 

纯c++解法

jybox 2012-01-30 15:14
whtsky:[表情]纯c++解法 (2012-01-30 15:11) 

想到一个解法.......

用系统定时器
定一个1毫秒自动加1的
再定一个100毫秒输出结果的

whtsky 2012-01-30 15:17
jybox:想到一个解法.......
用系统定时器
定一个1毫秒自动加1的
....... (2012-01-30 15:14) 


whtsky 2012-01-30 15:22
jybox:想到一个解法.......
用系统定时器
定一个1毫秒自动加1的
....... (2012-01-30 15:14) 

素质

xywhsoft 2012-01-31 01:51
多么蛋疼的玩法啊……

事实上对于本身就没有流程控制的汇编语言来说

JNE指令就可以解决这个问题了,而且轻松到爆   - -


不过我十分好奇,不用流程控制语句有什么意义……
还不如完全用自己堆API做运行库来的划算呢

whtsky 2012-01-31 13:03
xywhsoft:多么蛋疼的玩法啊……
事实上对于本身就没有流程控制的汇编语言来说
JNE指令就可以解决这个问题了,而且轻松到爆   - -
....... (2012-01-31 01:51) 

纯思维题呗。

东风无力 2012-02-12 23:40
模板仿函数可以实现
具体不告诉你们

jybox 2012-02-13 03:45
东风无力:模板仿函数可以实现
具体不告诉你们 (2012-02-12 23:40) 

数组就够了

littlepig 2012-02-14 20:58
VB党无节操地插一脚XD

VB Code:
Public Function Eggache(ByVal n As Long) As Long
    On Error Resume Next
    Dim lngSum As Long, i As Long
    lngSum = 0
Begin:
    i = i + 1
    On i - n GoTo Done
    lngSum = lngSum + i
    GoTo Begin
Done:
    Eggache = lngSum
End Function



以上代码在VB4 16-Bit中测试通过。

jybox 2012-02-14 21:14
littlepig:VB党无节操地插一脚XD
以上代码在VB4 16-Bit中测试通过。
....... (2012-02-14 20:58) 

用了goto 不算

whtsky 2012-02-14 23:06
python:sum(range(n+1))

whtsky 2012-02-14 23:14
codepad.org/Mk6p4VLS 你们洗洗睡吧…

jybox 2012-02-14 23:30
whtsky:codepad.org/Mk6p4VLS 你们洗洗睡吧… (2012-02-14 23:14) 

STL也有这样的算法

whtsky 2012-02-15 00:14
第33楼jybox于2012-02-14 23:30发表的 回 whtsky 的帖子 的帖子
whtsky:codepad.org/Mk6p4VLS 你们洗洗睡吧… (2012-02-14 23:14) [url=http://jybox.net/bbs/job.php? ..




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.066075 second(s),query:5 Gzip enabled