![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源自数学的c语言
王家有女是小白
这个作者很懒,什么都没留下…
展开
-
Dark 教授的挑战 13.0 —— 批量查找
Dark 教授给定你一个正整数数列,其中的数字两两不同。现在,Dark 教授有一系列的查询,她希望查询某个正整数在其中是否出现过,以及其出现的位置。若该正整数不存在,输出 -1 ,否则输出该正整数在数列中的下标。(数列下标从 0 开始,下标范围为 0 ~ n - 1 )第一行两个正整数 n 和 m ,表示数列的长度以及查询的总数。第二行 n 个正整数,表示数列中每一个整数。后面 m 行每行一个正整数,表示一次查询。保证所有输入的正整数不超过 10000。m 行,每行对应一组询问。你能完成她的挑战吗?原创 2024-08-05 14:50:50 · 225 阅读 · 0 评论 -
火柴棍等式
给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。注意:1. 加号与等号各自需要两根火柴棍2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)3. n根火柴棍必须全部用上。每组输入数据共一行,是一个整数n(n<=24)。每组输出共一行,表示能拼成的不同等式的数目。原创 2024-08-05 10:27:12 · 204 阅读 · 0 评论 -
ISBN号码
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+...+2×9=158,然后取158 mod 11的结果4作为识别码。原创 2024-08-05 08:32:29 · 213 阅读 · 0 评论 -
斐波那契数列
斐波那契数列是指这样的数列:第一个数和第二个数都为 1,接下来每个数都等于前面两个数之和。编程输入一个正整数 k,输出斐波那契数列第 k 个数。一行一个正整数,表示斐波那契数列第 k 个数的大小。一行一个正整数 k,3≤k≤46。原创 2024-07-31 19:15:02 · 494 阅读 · 0 评论 -
十进制转二进制
编写一个十进制转化为二进制的程序,输入数据一个整数a (a <= 10000),输出它的二进制数。一个十进制整数 a。原创 2024-07-31 10:56:50 · 229 阅读 · 0 评论 -
二进制转十进制
1011010(二进制)= $1\times2^6 + 0\times2^5 + 1\times2^4 + 1\times2^3 + 0\times2^2 + 1\times2^1 + 0\times2^0$= $1\times64 + 0\times32 + 1\times16 + 1\times8 + 0\times4 + 1\times2 + 0\times1$= $90$(十进制)二进制是由0和1构成的数。输入一个二进制数,请你求出它对应的十进制数。输入对应的1个十进制整数。原创 2024-07-31 10:44:34 · 369 阅读 · 0 评论 -
回文数的判定
给定一个正整数$n$,请判定它是否是一个回文数,所谓回文数,就是将这个数的所有数字倒序排列后这个数的大小保持不变,比如101与6886都是回文数,而100不是回文数。对于$100%$的数据,$1≤n≤10,000,000$。单个正整数:表示给定的数字。原创 2024-07-29 10:14:00 · 116 阅读 · 0 评论 -
优秀的拆分
例如,1=1,10=1+2+3+4等。对于正整数n的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,n被分解为了若干个不同的2的正整数次幂。注意,一个数x能被表示成2的正整数次幂,当且仅当x能通过正整数个2相乘在一起得到。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。例如,10=8+2=2^3+2^1是一个优秀的拆分。但是,7=4+2+1=2^2+2^1+2^0就不是一个优秀的拆分,因为1不是2的正整数次幂。现在,给定正整数n,你需要判断这个数的所有拆分中,是否存在优秀的拆分。原创 2024-07-28 10:39:08 · 186 阅读 · 0 评论 -
加油站(c++)
假设路是一条直线,他需要从起点出发,行驶到距离起点 $r$ 公里的位置,然后再从那里掉头原路返回起点。车行驶 $1$ 公里需要消耗 $1$ 单位的汽油,请问汽车的油箱至少要能容纳多少单位的汽油才能够使得小 d 完成这段路程?路上有 $n$ 个加油站,第 $i$ 个加油站在距离起点 $a_i$ 公里的位置。如果小 d 到达加油站的时候汽油刚好用完,那么也视作他成功到达了加油站并且能够加油。如果 $n>0$,第二行输入 $n$ 个整数 $a_i$,保证。即 $a_i<a_{i+1}$。一行一个整数代表答案。原创 2024-07-23 16:01:31 · 211 阅读 · 0 评论 -
均分纸牌(C++)
移牌规则为:在编号为 $1$ 堆上取的纸牌,只能移到编号为 $2$ 的堆上;在编号为 $N$ 的堆上取的纸牌,只能移到编号为 $N-1$ 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。有 $N$ 堆纸牌,编号分别为 $1,2,\ldots,N$。每堆上有若干张,但纸牌总数必为 $N$ 的倍数。第二行共 $N$ 个整数 $A_1,A_2,\ldots,A_N$,表示每堆纸牌初始时的纸牌数。例如 $N=4$ 时,$4$ 堆纸牌数分别为 $9,8,17,6$。第一行共一个整数 $N$,表示纸牌堆数。原创 2024-07-23 15:59:23 · 294 阅读 · 0 评论 -
第一个大于等于
输入$n(n≤10^6)$个不超过$10^9$的单调不减的(就是后面的数字不小于前面的数字)非负整数$a_1,a_2,\ldots,a_n$,然后进行$m(m≤10^5)$次询问。对于每次询问,给出一个整数$target(target≤10^9)$,要求输出序列中第一个。第三行m个整数,表示询问这些数字的编号,从1开始编号。第一行2个整数,表示数字个数n和询问次数m。如果没有这样的位置,请输出。第二行n个整数,表示这些待查询的数字。原创 2024-07-23 09:12:00 · 113 阅读 · 0 评论 -
促销骰子(c语言)
小爱的商店正在促销。顾客在付款的时候,有机会掷一次骰子,如果掷出6,可以获得优惠,并且可以继续掷骰子,直到出现不是6的情况,或掷三次为止。输入由一个或多个整数构成。若存在多个数,则除最后一个数外,之前的数都是6,且最多只有三个数。给定一组投掷的结果,请输出可以获得的优惠金额。单个整数:表示获得的优惠金额。原创 2024-07-15 16:25:49 · 169 阅读 · 0 评论 -
输出等差数列
等差数列是指这样一种数列:从第二项起,每一项与它的前一项的差等于同一个数。两项之间的“差值”叫做“公差”,第一项的数字叫做“首项”,数列有几个数“项数”就是几。例如:1,3,5,7,9,第一项是1,项数是5,公差是2。输入首项、项数、公差。原创 2024-07-11 13:11:08 · 89 阅读 · 0 评论 -
用纸币支付
有1元,5元,10元,50元,100元的纸币各c1, c5, c10, c50, c100枚,现在要用这些来支付A元,最少需要多少张纸币?假定本题至少存在一种支付方案,0 ≤ ci ≤ 10^9,0 ≤ A ≤ 10^9。第一行有5个数字,分别代表从小到大5种面值的纸币张数。一行一个整数,表示最少需要的纸币数量。第二行为A,代表需支付的A元。原创 2024-07-11 13:52:51 · 96 阅读 · 0 评论 -
小爱做煎饼
小爱做好一只烧饼,需要把烧饼的两面都加热。给定两个正整数$n$与$k$,$n$表示小爱需要做的烧饼数量,而$k$表示厨房里有$k$口锅,每口锅每分钟能做好一面烧饼。请帮小爱计算,至少需要多少分钟才能做完所有的烧饼。单个正整数:表示需要多少分钟才能做好所有烧饼。单独一行:两个正整数$n$与$k$。原创 2024-07-11 16:45:51 · 666 阅读 · 0 评论 -
IP地址转换
点分十进制的转化方法如下:首先将IP地址分割成长度相等的四个二进制数字(每个二进制数字的长度为 8),然后将这些数字用十进制表示,中间用。IP地址是一个长度固定为 32 位 的 01 序列,给定一个IP地址,请将它转成点分十进制后输出。32 个 01 字符:表示一个给定的IP地址。一行字符:表示给定IP地址的点分十进制表示。这个IP地址的点分十进制表示为。原创 2024-07-12 13:36:31 · 110 阅读 · 0 评论 -
逆波兰式(c语言)
注意,为了方便起见,我们省略了除法,同时也规定在表达式中出现的数字只能由一位数构成。一个字符序列:表示输入的后缀表达式。每个字符间用一个空格分开。保证输入字符只可能出现。给定一个后缀表达式(保证合法),请计算表达式的值,并输出它模10的余数。单个数字:表示表达式的值模 10 的余数,注意余数必须大于或等于零。三种运算符,且构成一个合法的后缀表达式。记输入的可见字符数量为$n$,原创 2024-07-13 16:14:23 · 139 阅读 · 0 评论 -
增长与翻倍
给定正整数$s$和$t$,我们希望利用增长与翻倍的操作,让$s$变成$t$。一步增长可以让数字加一,一步翻倍可以让数字翻倍。最少需要用多少步操作才能将$s$变成$t$?两个整数,分别表示$s$与$t$。单个整数:表示最少操作步数。原创 2024-07-15 16:12:22 · 208 阅读 · 0 评论