小明对数位中含有 2、0、1、 9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 2019 中,所有这样的数的和是多少?
在 1 到 40 中这样的数包 括 1、2、9、10 至 32、39 和 40,共 28 个
他们的和是 574。
#include
using namespace std;
int main()
{
//定义一个sum整型变量存储满足条件的数字的和
int sum = 0;
//循环2019次
for (int i = 1; i <= 2019; i++)
{
//定义局部变量用于辅助判断 保证i不发生变化
int j = i;
//对每个数字进行判断
while (j != 0)
{
//对j进行取余运算
int k= j % 10;
if (k==2||k==0||k==1||k==9)
{
sum += i;
//符合条件的数会跳出循环
break;
}
//不符合的数会进行除法运算 例如567/10=56.7 此时j=56 !=0 继续while循环
// 56/10=5.6 此时j= 5 !=0 继续while循环
// 5/10=0.5 此时j= 0 继续for循环
j /= 10;
}
}
cout <<"满足条件的数之和为:"<< sum << endl;
return 0;
}
小明有一块n*m的矩形白纸,每次他都会从中间切一刀切出一个最大的正方形,随后从剩余矩形再切出最大正方形,直到剩下的都是正方形为止。
一个5*3的矩形可以切出 3*3 2*2 1*1 1*1 四个正方形
那么2019*324 可以切出多少个正方形共能切出的正方形的个数?
#include
using namespace std;
int main()
{
cout << "在矩形中每次切出最大正方形,在指定了长度和宽度后,求出一共能切出多少个最大正方形" << endl;
int a, b, sum = 0;
cout << "请输入矩形的长度" << endl;
cin >> a;
cout << "请输入矩形的宽度" << endl;
cin >> b;
while (a > 0 || b > 0)
{
if (a > b)
{
a -= b;
sum++;
}
else if (a < b)
{
b -= a;
sum++;
}
else
{
sum++;
cout <<"你一共可以切出"<< sum <<"个正方形"<< endl;
break;
}
}
return 0;
}
小明用字母 A 对应数字 1, B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应
请问 2019 对应的字符串是什么?
例如 AA 对应 27, AB 对 应 28, AZ 对应 52,LQ 对应 329。
#include
#include
using namespace std;
int main()
{
string result = "";
int a=2019;
while (a)
{
//ASCII码转换 (a % 26 - 1)表示取余后第几位数 由于后面会加A,故第几位需要减去一
//A在ASCII表中的十进制为65
//优化后
char k = a % 26 + 64;
//确认字符串后进行相加
result = k + result;
a = a / 26;
}
cout <<"2019对应的字符串为:"<< result<<endl;
return 0;
}
我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……
请你计算 第 2019 个质数是多少?
第1个质数是 2。
由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨。
这个法术需要用到他手中的 49 张法术符,上面分别写着 1 至 49 这 49 个 数字。
法术一共持续 7 周,每天小明都要使用一张法术符,法术符不能重复使 用。
每周,小明施展法术产生的能量为这周 7 张法术符上数字的中位数。法术 施展完 7 周后,求雨将获得成功,降雨量为 7 周能量的中位数。 由于干旱太久,小明希望这次求雨的降雨量尽可能大,请大最大值是多少?
图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时 针旋转 90 度。 我们用一个 n ×m 的二维数组来表示一个图片,给定初始图片,请计算旋转后的图片。
给出一个 3 ×4 的 图片的例子:
1 3 5 7
9 8 7 6
3 5 9 7
这个图片顺时针旋转 90 度后的图片如下:
3 9 1
5 8 3
9 7 5
7 6 7
“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ~N。每家外卖店都有 一个优先级,初始时 (0 时刻 ) 优先级都为 0。
每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减 到 0;而如果外卖店有订单,则优先级不减反加,
每有一单优先级加 2。 如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果 优先级小于等于 3,
则会被清除出优先缓存。 给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优 先缓存中。
小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob 有多少次同时出现。
更准确的说,小明定义 Alice 和 Bob “同时出现”的意思是:在小说文本 中 Alice 和 Bob 之间不超过 K 个字符。
例如以下文本:
This is a story about Alice and Bob. Alice wants to send a private messageto Bob.
假设 K = 20,则 Alice 和 Bob 同时出现了 2 次,分别是 ”Alice and Bob” 和”Bob. Alice ”。
前者 Alice 和 Bob 之间有 5 个字符,后者有 2 个字符。
注意 :
1. Alice 和 Bob 是大小写敏感的,alice 或 bob 等并不计算在内。
2. Alice 和 Bob 应为单独的单词,前后可以有标点符号和空格,但是不能 有字母。例如 Bobbi 並不算出现了 Bob。
数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。
现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?
N=5 时
包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、 16、 18、20。
结果为10项
小明公司的办公区有一条长长的走廊,由 N 个方格区域组成,如下图所 示。
走廊内部署了 K 台扫地机器人,其中第 i 台在第 Ai 个方格区域中。
已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。
请你编写一个程序,计算每台机器人的清扫路线,使得
1. 它们最终都返回出发方格,
2. 每个方格区域都至少被清扫一遍,
3. 从机器人开始行动到最后一台机器人归位花费的时间最少。
注意:
多台机器人可以同时清扫同一方块区域,它们不会互相影响。 输出最少花费的时间。
如本题图中N=10,K=3
第一台路线: 2-1-2-3-4-3-2 ,清 扫了 1、2、3、4 号区域。
第二台路线: 5-6-7-6-5,清扫了 5、6、7。
第三台路线: 10-9-8-9-10,清扫了 8、9 和 10。
结果为6。