栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

寒假学习记录D28

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

寒假学习记录D28

1.Git的注册(学生计划),用法(B站)

2.算法

3.python


1.Git的注册(学生计划),用法(B站)

git的学生账户注册:

Request a discount - GitHub Educationhttps://education.github.com/discount_requests/student_applicationgit的学习:

【狂神说Java】Git最新教程通俗易懂_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1FE411P7B3?p=6&spm_id_from=pageDriverGitHub 到底怎么用?十分钟学会 GitHub 基础知识_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1yo4y1d7UK?from=search&seid=2348662599817508479&spm_id_from=333.337.0.0


2.算法
 

题目描述

定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。
比如说,47、744、4都是幸运数字而5、17、467都不是。
定义next(x)为大于等于x的第一个幸运数字。给定l,r,请求出next(l) + next(l + 1) + ... + next(r - 1) + next(r)。

输入描述:
两个整数l和r (1 <= l <= r <= 1000,000,000)。
输出描述:
一个数字表示答案。

示例1

输入
2 7
输出
33

示例2

输入
7 7
输出
7
#include 
#include 
using namespace std;
const int maxn = 1e6 + 9;
typedef long long ll;
ll l, r;
ll luck[maxn];
int cnt;
ll ans;
void dfs(ll x) {//提前打表
    if(x >= 4444444444) {
        return ;
    }
    luck[cnt++] = x * 10 + 4;
    luck[cnt++] = x * 10 + 7;
    dfs(x * 10 + 4);
    dfs(x * 10 + 7);
}
int main() {
    cin >> l >> r;
    ios::sync_with_stdio(false);
    dfs(0);
    luck[cnt] = 4444444444;
    sort(luck, luck + cnt);
    int L = upper_bound(luck, luck + cnt, l) - luck;
    int R = upper_bound(luck, luck + cnt, r) - luck;
    for(int i = L; i <= R; i++) {
        ans += (min(luck[i], r) - l + 1) * luck[i];
        l = luck[i] + 1;
    }
    cout << ans << "n";
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739703.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号