一、神奇算式
题目链接:神奇算式 - 蓝桥云课 (lanqiao.cn)
题目要求:
由 4 个不同的数字,组成的一个乘法算式,它们的乘积仍然由这 4 个数字组成。
比如:
210 x 6 = 1260 8 x 473 = 3784 27 x 81 = 2187
都符合要求。
如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的 3 种情况,一共有多少种满足要求的算式。
解题思路:可以使用暴力的方法进行三位数以内的相乘,将符合条件的两个数字通过整型转换字符串的方式进行对比,最后就是有多少个
sprintf:把整数打印成一个字符串保存在字符串变量中。
strcat:把后边所指向的字符串追加到前面所指向的字符串的结尾。
strcmp:
·自左向右逐个按照ASCII码值进行比较,直到出现不同的字符或遇’\0’为止。
·如果返回值 < 0,则表示 s1 小于 s2。
·如果返回值 > 0,则表示 s1 大于 s2。
·如果返回值 = 0,则表示 s1 等于 s2。
#include<bits/stdc++.h> using namespace std; char a[10],b[10],c[10]; int m,sum,num; int main() { for(int i=1;i<=999;i++) { for(int j=1;j<=999;j++) { sum = i*j; if(sum>1000&&sum<9999&&i { sprintf(a,"%d",sum); sort(a,a+4); } for(m=1;m<4;m++) { if(a[m-1]==a[m]) { break; } } if(m==4) { sprintf(b,"%d",i); sprintf(c,"%d",j); strcat(b,c); sort(b,b+4); if(strcmp(a,b)==0) { num++; } } } } cout<<sum; return 0; }
二、缩位求和
题目链接:缩位求和 - 蓝桥云课 (lanqiao.cn)
题目要求:
在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。
比如:248×15=3720
把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是 1 位数,得
2 + 4 + 8 = 14 ==> 1 + 4 = 5;
1 + 5 = 6;
5×6
而结果逐位求和为 3。
5×6 的结果逐位求和与 3 符合,说明正确的可能性很大!!(不能排除错误)
请你写一个计算机程序,对给定的字符串逐位求和。
解题思路:
因为位数很大 所以用字符串 先定义一个string型s输入之后把它的每一位相加,如果大于10那么把该数字转换成字符串继续相加,直到小于10输出。
#include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; while(1) { long long sum = 0; for(int i=0;i { sum+=s[i]-'0'; } if(sum>=10) { s = to_string(sum); } else { cout<<sum; break; } } return 0; }
三、积木大赛
题目链接:积木大赛 - 蓝桥云课 (lanqiao.cn)
题目要求:
春春幼儿园举办了一年一度的"积木大赛"。今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为 1 的积木组成,第 i 块积木的最终高度需要是 hi 。
在搭建开始之前,没有任何积木(可以看成 n 块高度为 0 的积木)。接下来每次操作,小朋友们可以选择一段连续区间 [L,R],然后将第 L 块到第 R 块之间(含第 L 块和第 R 块)所有积木的高度分别增加 1。
小 M 是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少。但她不是一个勤于动手的孩子,所以想请你帮忙实现这个策略,并求出最少的操作次数。
解题思路:
对于每一个H[i] 如果大于H[i-1] 那么一定要堆上H[i] - H[i-1]块积木才可以使该积木建成 否则无法满足题目要求 但是如果H[i] < H[i-1]那么就不用再浪费积木了
#include<bits/stdc++.h> using namespace std; int a[100001],sum; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } sum += a[1]; for(int i=2;i<=n;i++) { if(a[i]>a[i-1]) { sum += a[i]-a[i-1]; } } cout<<sum; return 0; }
今天的题都不难,大家加油理解!冲刺国赛!