鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 欧拉计划

题目15:从20*20的网格的左上角通往右下角有多少条路?

[复制链接]
发表于 2022-2-5 21:15:19 | 显示全部楼层
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
double nCr(double n,double r)
{
    if(n<r)
    {
        cerr<<"'n<r'!"<<endl;
        exit(EXIT_FAILURE);
    }
    double ret = 1;
    while(r>0)
        ret *= n--/r--;
    return ret;
}

int main()
{
    cout<<std::fixed<<nCr(40,20);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-24 22:45:26 | 显示全部楼层
package main

import (
        "fmt"
        "time"
)

//题目:
//
//从一个 2×2 网格的左上角开始,有 6 条(不允许往回走)通往右下角的路。
//
//对于 20×20 的网格,这样的路有多少条?

func main() {
        t := time.Now()
        var i, j int = 0, 0

        m := make(map[int]map[int]int64)
        sm := make(map[int]int64)
        for i = 0; i < 21; i++ {
                sm[i] = 1
        }
        sm[0] = 0
        m[0] = sm

        for i = 1; i < 21; i++ {
                sm := make(map[int]int64)
                sm[0] = 1
                for j = 0; j < 21; j++ {
                        sm[j+1] = sm[j] + m[i-1][j+1]
                }
                m[i] = sm
        }
        fmt.Println(m[20][20])
        tt := time.Now()
        fmt.Println("耗时:", (tt.Nanosecond()-t.Nanosecond())/1e6, "ms")
}
输出:
137846528820
耗时: 0 ms 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-23 13:51:45 | 显示全部楼层
137846528820.0
It costs 0.000034 s
import time as t
from functools import reduce

start = t.perf_counter()
ways = reduce(lambda x, y: x*y, range(1,41))/(reduce(lambda x, y: x*y, range(1, 21)))**2

print(ways)
print('It costs %f s' % (t.perf_counter() - start))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-8 12:08:16 | 显示全部楼层
use std::time::Instant;

fn main() {
    let now = Instant::now();
    let num = c(20);
    println!("cost {} ms.", now.elapsed().as_millis());
    println!("{num}")
}

fn c(n: u128) -> u128 {
    let mut value = 1u128;
    for i in n + 1..2 * n + 1 {
        value *= i
    }
    for i in 1..n + 1 {
        value /= i
    }
    value
}
---
cost 0 ms.
137846528820
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-30 07:16:30 | 显示全部楼层
标数法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 21:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表