本文主要是介绍洛谷C++简单题小练习day18—牛奶数字游戏,拿放大镜看杂志暴力算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
day18--牛奶数字游戏--2.22
习题概述
题目描述
奶牛们在玩一种数字游戏,Bessie 想让你帮她预测一下结果。游戏开始时,Bessie 将得到一个正整数 N。此时她的分数为 0。
奶牛们按照以下规则对 N 进行变换:
·如果 N 是奇数,那么将它乘以 3 后再加 1。
·如果 N 是偶数,那么将它除以 2。
数字每变换一次,Bessie 就得到 1 分。当 N=1 时,游戏结束。此时的分数就是她的最终得分。
输入格式
一行,一个整数 N。
输出格式
一行,一个整数,为 Bessie 的最终得分。
代码部分
#include<bits/stdc++.h>
using namespace std;int N;
double s=0;//分数
int main(){cin>>N;while(N!=1){ if(N%2!=0) N=N*3+1;else N=N/2;s++;}cout<<s;return 0;
}
心得体会
while和if在C++中的区别:
相同点:均可进行一次判断;
不同点:while本质上是循环,当判断条件为true时,进入循环体,然后再接着进行判断,直到判断条件为false,跳出循环;if虽然也可以进行判断,当判断条件为true时,执行语句sum++,当判断语句为false时,执行语句targe++,不会接着再次返回到if,也就是说,不会再继续进行判断。
综上所述:while本质上是循环,if本质上是一个条件判断。
day18--拿放大镜看杂志暴力算法--2.22
习题概述
题目背景
Mirko 在拿放大镜看杂志。
题目描述
他正在看一面 r 行 c 列的杂志。放大镜有两个参数 zr,zc,表示把每个字符都转换成一个 zr 行 zc 列的矩阵。
给出原始杂志,请你帮他找出杂志在放大镜下的影像。
输入格式
输入第一行四个整数 r,c,zr,zc。
接下来的 r 行,每行 c 个字符。字符可能为数字,字母或 .
。
输出格式
输出一个 r×zr 行,c×zc 列的矩阵,表示放大镜下的影像
代码表示
#include<bits/stdc++.h>
using namespace std;char ch[100][100];
int r,c,zr,zc;
int main()
{cin>>r>>c>>zr>>zc;for(int i=1; i<=r; i++)for(int j=1; j<=c; j++)cin>>ch[i][j];//输入for(int i=1; i<=c; i++)//原行数for(int i1=1; i1<=zr; i1++)//放大的行数{for(int j=1; j<=c; j++)//原列数for(int j1=1; j1<=zc; j1++)//放大的列数cout<<ch[i][j];cout<<endl;}//暴力return 0;
}
心得体会
行列都有的时候,需要想想的是双重循环,即行循环再列循环;通过暴力算法循环输出;注意定义时不要忘记数组的定义 char ch[100][100];
这篇关于洛谷C++简单题小练习day18—牛奶数字游戏,拿放大镜看杂志暴力算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!