欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

寒假学习记录D28

时间:2023-05-25

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;}


Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。