CSP-J入门组

  1. 字符串

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

在这里插入图片描述

#include

using namespace std;

int main()

{

int n,a,b=0;

cin>>n;

while(n!=0)

{

a=n%10;

n=n/10;

b=b*10+a;

}

cout<<b<<endl;

return 0;

}

  1. 二分:二分法是指对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法。

有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值 ≥ 1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。

提示:记方程f(x) = 0,若存在2个数x1和x2,且x1 < x2,f(x1)*f(x2) < 0,则在(x1,x2)之间一定有一个根。

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

double a,b,c,d,l,r,mid;

double s(double s)

{

return apow(s,3)+bpow(s,2)+c*pow(s,1)+d;

}

int main()

{

cin>>a>>b>>c>>d;

for(int i=-100;i<=100;i++)

{

l=i,r=i+1;

if(s(l)==0) cout<<fixed<<setprecision(2)<<l<<" ";

else if(s(l)*s®<0)

{

while(r-l>=1e-5)

{

mid=(r+l)/2;

if(s®*s(mid)<0) l=mid;

else r=mid;

}

cout<<fixed<<setprecision(2)<<l<<" ";

}

}

return 0;

}

  1. 高精度:高精度运算,是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。

给出一个整数 n(n<1030) 和 k 个变换规则(k<=15)。

规则:

一位数可变换成另一个一位数:规则的右部不能为零。

例如:n=234。有规则(k=2):

2-> 5

3-> 6

上面的整数 234 经过变换后可能产生出的整数为(包括原数):

234

534

264

564

共 4 种不同的产生数

问题:

给出一个整数 n 和 k 个规则。

求出:

经过任意次的变换(0次或多次),能产生出多少个不同整数。仅要求输出个数。

在这里插入图片描述

#include

using namespace std;

string s;

int n,f[10][10],a[100010],c[100010];

void work()

{

cin>>s>>n;

for(int i=1;i<=n;i++)

{

int x,y;

cin>>x>>y;

f[x][y]=1;

}

for(int k=0;k<=9;k++)

for(int i=0;i<=9;i++)

for(int j=0;j<=9;j++)

if(i!=j&&i!=k&&j!=k&&f[i][k]&&f[k][j]) f[i][j]=1;

for(int i=0;i<=9;i++)

for(int j=0;j<=9;j++)

if(f[i][j]) a[i]++;

int d=1;

c[1]=1;

for(int j=0;j<s.size();j++)

{

int x=0;

int e=s[j]-‘0’;

e=a[e]+1;

for(int i=1;i<=d;i++)

{

c[i]=c[i]*e+x;

x=c[i]/10;

c[i]%=10;

}

if(x>0) c[++d]=x;

}

for(int i=d;i>=1;i–)

cout<<c[i];

cout<<“\n”;

}

int main()

{

work();

return 0;

}

  1. 排列组合数学:

妞妞参加了Nowcoder Girl女生编程挑战赛, 但是很遗憾, 她没能得到她最喜欢的黑天鹅水晶项链。

于是妞妞决定自己来制作一条美丽的项链。一条美丽的项链需要满足以下条件:

1、需要使用n种特定的水晶宝珠

2、第i种水晶宝珠的数量不能少于li颗, 也不能多于ri颗

3、一条美丽的项链由m颗宝珠组成

妞妞意识到满足条件的项链种数可能会很多, 所以希望你来帮助她计算一共有多少种制作美丽的项链的方案。

在这里插入图片描述

#include

// #include

// using namespace std;

#define max(a, b) ((a) > (b) ? (a) : (b))

#define ll long long

const int M = 1e5 + 10;

int arr[M];

ll dp[25][105];

bool vis[25][105];

struct number{

int l, r;

}req[25];

ll DP(int n, int w) {

if (w < 0) return 0;

if (n == 0 && (w > req[0].r || w < req[0].l)) return 0;

if (n == 0) return 1;

if (vis[n][w]) return dp[n][w];
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

前端视频资料:
取!!(备注:前端)**

[外链图片转存中…(img-SUeW03mv-1713473806272)]

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

[外链图片转存中…(img-ZV9NgmOl-1713473806272)]

前端视频资料:

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值