众筹网站建设,广告项目网站开发,wordpress 果酱小程序,在商用网站上用明星的名字做昵称文章目录幸运数字题目描述解题思路AC代码投篮题目描述解题思路AC代码通货膨胀-x国货币题目描述解题思路AC代码最后一位题目描述解题思路AC代码CSDN编程竞赛报名地址#xff1a;https://edu.csdn.net/contest/detail/41 这次题目描述刚开始好像有些问题#xff0c;之后被修正了…
文章目录幸运数字题目描述解题思路AC代码投篮题目描述解题思路AC代码通货膨胀-x国货币题目描述解题思路AC代码最后一位题目描述解题思路AC代码CSDN编程竞赛报名地址https://edu.csdn.net/contest/detail/41 这次题目描述刚开始好像有些问题之后被修正了
幸运数字
题目描述
小艺定义一个幸运数字的标准包含3条: 1、仅包含4或7。 2、幸运数字的前半部分数字之和等于后半部分数字之和。 3、 数字的长度是偶数。
解题思路
把输入当作字符串来处理即可
判断字符串长度是否为偶数判断字符串中是否只包含4和7判断字符串前半部分之和是否等于后半部分之和其实直接用ASCII码进行计算不必换算成整数再计算也可因为前后两半字符串的长度是相同的
AC代码
#includebits/stdc.h
using namespace std;
int main() {string s;cin s;if (s.size() % 2) {puts(No);return 0;}for (char c : s) {if (c ! 4 c ! 7) {puts(No);return 0;}}int cnt 0;for (int i 0; i s.size() / 2; i) {cnt s[i] - 0;}for (int i s.size() / 2; i s.size(); i) {cnt - s[i] - 0;}puts(cnt ? No : YES);return 0;
}投篮
题目描述
小明投篮罚球线投球可得1分在三分线内投篮得分可以得到2分在三分线以外的地方投篮得分可以得到3分连续投 进得分累计一旦有一个球没投进则得分清零重新计算。现给出所有得分记录清零不计入得分请你计算一下小明 最多连续投进多少个球
解题思路
遍历每次的得分如果当前得分不大于上次得分则视为“头球中断”
否则视为“连续进球”
统计一下最大的连续进球次数即可
AC代码
#include bits/stdc.h
using namespace std;
int main() {int ans 0;int thisCnt 0;int lastScore 0;int n;cin n;while (n--) {int t;cin t;if (t lastScore) {lastScore 0;thisCnt 0;}thisCnt;ans max(ans, thisCnt);lastScore t;}cout ans endl;return 0;
}通货膨胀-x国货币
题目描述
X国发行货币最高面额为n。 次高面额为n的因子。 以此类推。 X国最多发行多少种货币。
解题思路
只需要按照题目的意思在n不为质数的时候不断除以“大于1的最小因子”即可
首先判断一个数nnn是否为质数只需要从2枚举到(n)\sqrt(n)(n)看其中某个数能否被nnn整除。如果都不能则nnn是质数。
否则我们就找到了nnn的“大于1的最小因子”让nnn除以这个因子得到的即为“下一个货币面值”
AC代码
#include bits/stdc.h
using namespace std;
int main() {int n;cin n;if (n 1) {puts(1);return 0;}int ans 2;while (n 1) {int k sqrt(n);bool has false;for (int i 2; i k; i) {if (n % i 0) {n / i;ans;has true;break;}}if (!has) {break;}}cout ans endl;return 0;
}最后一位
题目描述
小明选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过 程中,小明会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum. 例如X 509, 在黑板上出现过的数字依次 是509, 50, 5, 他们的和就是564. 小明现在给出一个sum,小明想让你求出一个正整数X经过上述过程的结果是sum.
解题思路
509能按照题目描述得到564但是给你564怎么反推出来509呢
我们来看一下564的构成。
564509505(500505)(000)(9)5×1110×119×1564 509 50 5 (500 50 5) (00 0) (9) 5\times1110\times119\times1564509505(500505)(000)(9)5×1110×119×1
既然5645×1110×119×1564 5\times 111 0\times 11 9 \times 15645×1110×119×1那么为什么不反向地求出余数呢
564÷1115⋯9564÷1115\cdots9564÷1115⋯9
9÷110⋯99÷110\cdots99÷110⋯9
9÷19⋯09÷19\cdots09÷19⋯0
看到每次计算的商了吗
也就是说我们用计算出的564564564每次除以1111...11111...11111...1、111...1111...1111...1、.........、111每次的商组合起来就是原数。
AC代码
#include bits/stdc.h
using namespace std;typedef long long ll;int main() {ll n;cin n;ll k 111111111111111111;ll ans 0;while (k) {ll yu n / k;// printf(n %lld, k %lld, yu %lld, ans %lld\n, n, k, yu, ans); //*********ans ans * 10 yu;n - yu * k;k / 10;}cout ans endl;return 0;
}同步发文于CSDN原创不易转载请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/128975414