假期刷题打卡--Day26

2024-02-08 14:36
文章标签 打卡 刷题 假期 day26

本文主要是介绍假期刷题打卡--Day26,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、MT1212乘法表

请编写一个简单程序,输出九九乘法表。输入n,就输出乘法表到n的地方。

格式

输入格式:

输入整型

输出格式:

输出整型。形式如:1*1=1

样例 1

输入:

5

输出:

1*1=1  
2*1=2  2*2=4
3*1=3  3*2=6  3*3=9
4*1=4  4*2=8  4*3=12 4*4=16
5*1=5  5*2=10 5*3=15 5*4=20 5*5=25  
备注

乘式之间一个空格。乘法结果占两格,不足两位的左对齐。

分析过程

本题实现的是我们从小背的九九乘法表的表示,使用的是双重循环。唯一需要注意的是,本题中对于空格的要求是不同的,要注意备注中所说的,不然就算代码是能够输出乘法表的,也无法通过所有用例。

所以,就要按照备注将空格进行修改。

按照备注可得,不足两位的占2个空格,除此之外,乘法之间占用1个空格。

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){if(i*j>=10){printf("%d*%d=%d ",i,j,i*j);}else{printf("%d*%d=%d  ",i,j,i*j);}}printf("\n");}return 0;
}

2、MT1213  x个a

求a+aa+aaa+…+a…a(x个a),x和a由键盘输入。

格式

输入格式:

输入为整型,空格分隔

输出格式:

输出为整型

样例 1

输入:

3 1

输出:

123
分析过程

本来想的是,使用一个循环,循环结束条件为x,然后在这个循环中,改变a的值,求出sum。按照这个代码实现的代码如下:

#include<bits/stdc++.h> using namespace std;int main( )
{int x,a,sum;cin >> x >> a;sum = a;for(int i=1;i<x;i++){// cout << a << "&" << sum << "^";a = a + pow(10,i);// cout << a <<"*";sum += a;}cout << sum;return 0;
}

但是,这个代码无法通过所有的用例,只能通过一个用例

所以,继续分析遗漏点。

是因为,在测试用例的时候,a为1,所以恰巧可以通过,而如果a不为1,按照我上面写的代码,最高位始终为1,所以结果是错误的。要修改为正确答案,就需要在最高位乘以a,实现代码如下:

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int x,a,sum,b;cin >> x >> a;sum = a,b=a;for(int i=1;i<x;i++){// cout << a << "&" << sum << "^";a = a + b*pow(10,i);
//        cout << a <<"*";sum += a;}cout << sum;return 0;
}

需要注意的是,a是随着i的增加而改变的,所以不能直接在高位乘以a,而是要在最初的时候,就把a保存在一个变量当中,在最高位乘以这个数即可。

3、MT1214上三角矩阵

输入3X3的整型矩阵A,输出对应的上三角矩阵。

格式

输入格式:

输入矩阵,元素在0到9之间,空格分隔。

输出格式:

输出矩阵,空格分隔。

样例 1

输入:

1 2 3 4 5 6 7 8 9

输出:

1 2 3  
0 5 6  
0 0 9
解决思路

法一:因为本题要求的矩阵是3*3的矩阵,是固定的,所以可以直接使用一维数组,找出上三角矩阵包含的几位,除了这几位,其余的都直接设置位0即可。

法二:使用二维数组,设置为a[i][j],当i>j时,输入0。然后输出矩阵即可。

实现代码

法一:一维矩阵解决

#include<bits/stdc++.h> using namespace std;int main( )
{int a[9]={0},count=0;for(int i=0;i<9;i++){//这里需要注意,数组位数为9位,所以应该是从0~8cin >> a[i];if(i==3||i==6||i==7){a[i]=0;}}for(int i=0;i<9;i++){// cout << a[i];count++;cout << a[i] << " ";if(count%3==0){cout << endl;}}return 0;
}

法二:二维矩阵解决

#include<bits/stdc++.h> using namespace std;int main( )
{int a[3][3]={0};for(int i=0;i<3;i++){for(int j=0;j<3;j++){cin >> a[i][j];if(i>j) a[i][j]=0;}}for(int i=0;i<3;i++){for(int j=0;j<3;j++){cout << a[i][j] << " ";}cout << endl;}return 0;
}

明天继续吧。

这篇关于假期刷题打卡--Day26的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/691320

相关文章

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

代码训练营 Day26 | 47.排序II | 51. N-皇后 |

47.排序II 1.跟46题一样只不过加一个树层去重 class Solution(object):def backtracking(self,nums,path,result,used):# recursion stopif len(path) == len(nums):# collect our setresult.append(path[:])return for i in range(

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

代码随想录打卡Day25

今天一整天都在教研室做实验,没时间刷题,就做了一题,剩下的明天补 491.递增子序列 这道题目和之前的子集问题很像,但是有一点要注意的,这个输入的数组不能进行排序,所以就不能沿用之前的去重逻辑,这道题要去重还是得借助额外的变量来维护元素使用情况,但是这题的used为集合,且不能为全局变量,只能为树层遍历前定义的一个局部变量,除了这个改动以外,其他地方都是高度相似的。 class Soluti

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II 1.题目 1.1递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0491.%E9%80%92%E

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II 1.题目 1.1复原IP地址 题目链接:93. 复原 IP 地址 - 力扣(LeetCode) 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0093.%E5%A4%8

T1打卡——mnist手写数字识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.定义GPU import tensorflow as tfgpus=tf.config.list_physical_devices("GPU")if gpus:gpu0=gpus[0]tf.config.experimental.set_memort_groth(gpu0,True) #设置GPU现存用量按需

【代码随想录训练营第42期 续Day52打卡 - 图论Part3 - 卡码网 103. 水流问题 104. 建造最大岛屿

目录 一、做题心得 二、题目与题解 题目一:卡码网 103. 水流问题 题目链接 题解:DFS 题目二:卡码网 104. 建造最大岛屿 题目链接 题解:DFS  三、小结 一、做题心得 也是成功补上昨天的打卡了。 这里继续图论章节,还是选择使用 DFS 来解决这类搜索问题(单纯因为我更熟悉 DFS 一点),今天补卡的是水流问题和岛屿问题。个人感觉这一章节题对于刚

【笔记】数据结构刷题09

快速排序 215. 数组中的第K个最大元素 class Solution {public:int findKthLargest(vector<int>& nums, int k) {return divide(nums,0,nums.size()-1,nums.size()-k);}int divide(vector<int>& nums,int left,int right,int k)

C语言:刷题日志(1)

一.阶乘计算升级版 本题要求实现一个打印非负整数阶乘的函数。 其中n是用户传入的参数,其值不超过1000。如果n是非负整数,则该函数必须在一行中打印出n!的值,否则打印“Invalid input”。 首先,知道阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。那么我们先来个简单的阶乘计算吧。 #include<stdio.h>int Fact(int n){if (n <=