OpenJudge NOI 1.5 编程基础之循环控制(21-30题)C++ 解题思路

10 篇文章 11 订阅
订阅专栏

续上一篇文章OpenJudge NOI 1.5编程基础之循环控制(11-20题) C++ 解题思路_Leleprogrammer的博客-CSDN博客续上一篇文章。https://blog.csdn.net/leleprogrammer/article/details/127157621?spm=1001.2014.3001.5501

目录

21 角谷猜想

22 津津的储蓄计划

23 药房管理

24 正常血压

25 求特殊自然数

26 统计满足条件的4位数个数

27 级数求和

28 分离整数的各个数位

29 数字反转

30 含k个3的数


21 角谷猜想

#include <iostream>
using namespace std;

int main() {
	long long n;
	cin>>n;
	while (true) {
		if (n==1) {
			cout<<"End";
			break;
		}
		if (n%2==1) {
			cout<<n<<"*3+1="<<n*3+1;
			n=n*3+1;
		} else {
			cout<<n<<"/2="<<n/2;
			n/=2;
		}
		cout<<endl;
	}
	return 0;
}

根据提示,计算过程中中间值会超过int的范围,所以n采用long long类型,如果用int的话会WA(Wrong Answer) 

22 津津的储蓄计划

#include <iostream>
using namespace std;

int main() {
	int money=0;
	int nowHave=0;
	for (int i=1;i<=12;++i) {
		int get;
		cin>>get;
		nowHave+=300;
		if (nowHave<get) {
			cout<<-i;
			return 0;
		}
		nowHave-=get;
		money+=nowHave/100*100;
		nowHave=nowHave-nowHave/100*100;
	}
	double result=nowHave+money*1.2;
	cout<<result;
	return 0;
}

遍历12次,表示12个月,再对钱不够用的情况、剩余钱、存钱等操作的执行 

23 药房管理

#include <iostream>
using namespace std;

int main() {
	int m,n,no=0;
	cin>>m>>n;
	for (int i=1;i<=n;++i) {
		int get;
		cin>>get;
		if (m-get<0) {
			no++;
		} else {
			m-=get;
		}
	}
	cout<<no;
	return 0;
}

采用循环,只要药不足就+1,最后输出结果即可 

24 正常血压

#include <iostream>
using namespace std;

int main() {
	int n;
	cin>>n;
	int normal=0,maxNormal=0;
	for (int i=1;i<=n;++i) {
		int a,b;
		cin>>a>>b;
		if (a>=90&&a<=140&&b>=60&&b<=90) {
			normal++;
			if (normal>maxNormal) {
				maxNormal=normal;
			}
		} else {
			normal=0;
		}
	}
	cout<<maxNormal;
	return 0;
}

不断获取cin输入,然后进行判断就好了 

25 求特殊自然数

#include <iostream>
using namespace std;

int main() {
	for (int i=100;i<=999;++i) {
		int a=i/100;
		int b=i%100/10;
		int c=i%100%10;
		if (a>=7||b>=7||c>=7) continue;
		if (a*7*7+b*7+c==c*9*9+b*9+a) {
			cout<<a*7*7+b*7+c<<endl;
			cout<<a<<b<<c<<endl;
			cout<<c<<b<<a;
			return 0;
		}
	}
	return 0;
}

因为7进制和9进制都是3位数,所以遍历100到999之间的数字,由于7进制数位中不可能出现≥7的数,9进制中不可能出现9,所以只要数字里包含7 8 9就跳过,剩下的计算出对应的十进制数,进行比较就好了!

26 统计满足条件的4位数个数

#include <iostream>
using namespace std;

int main() {
	int n,result=0;
	cin>>n;
	for (int i=1;i<=n;++i) {
		int get;
		cin>>get;
		int a=get/1000;
		int b=get%1000/100;
		int c=get%1000%100/10;
		int d=get%1000%100%10;
		if (d-a-b-c>0) {
			result++;
		}
	}
	cout<<result;
	return 0;
}

通过取余和整除的操作获得数位,然后进行计算和判断就ok了 

27 级数求和

#include <iostream>
using namespace std;

int main() {
	int k,n=1;
	cin>>k;
	double result=0.0;
	while (true) {
		result+=1.0/n;
		if (result>k) break;
		n++;
	}
	cout<<n;
	return 0;
}

注意这道题进行除法时要用1.0去除,这样才能得出浮点数 

28 分离整数的各个数位

#include <iostream>
using namespace std;

int main() {
	int n;
	cin>>n;
	while (true) {
		cout<<n%10<<" ";
		n/=10;
		if (n==0) break;
	}
	return 0;
}

原数%10得出最低位数字,原数/10去除最低位 

29 数字反转

#include <iostream>
using namespace std;

int main() {
	int n;
	cin>>n;
	if (n<0) {
		cout<<"-";
		n=-n;
	}
	bool first=true;
	while (true) {
		int w=n%10;
		n/=10;
		if (w==0&&first==false) {
			cout<<w;
		}
		else if (w!=0) {
			cout<<w;
			first=false;
		}
		if (n==0) {
			break;
		}
	}
	return 0;
}

 有负号先输出负号,得出绝对值后再进行数位分解的操作

30 含k个3的数

#include <iostream>
using namespace std;

int main() {
	int m,k,c=0;
	cin>>m>>k;
	if (m%19==0) {
		while (true) {
			int w=m%10;
			if (w==3) {
				c++;
			}
			m/=10;
			if (m==0) {
				break;
			}
		}
		if (k==c) {
			cout<<"YES";
		} else {
			cout<<"NO";
		}
	} else {
		cout<<"NO";
	}
	return 0;
}

 仍然用到了分离数位的操作

NOI题库答案1.5 编程基础循环控制) AC
happy567567的博客
07-24 9747
NOI
OpenJudge NOI 1.5编程基础循环控制(1-10C++ 解题思路
leleprogrammer的博客
10-03 3496
目录01 求平均年龄02 财务管理03 均值04 求整数的和与均值05 最高的分数06 整数序列的元素最大跨度值07 奥运奖牌计数08 多边形内角和09 奇数求和10 满足条件的数相加 02 财务管理 04 求整数的和与均值 05 最高的分数 07 奥运奖牌计数 10 满足条件的数相加 喜欢的话就点赞关注吧~~~
Openjudge C++1.1编程基础之输入输出答案 (1-5)
最新发布
louziyang0707的博客
03-24 178
6-10将在以后发布。
OpenJudge解——1.5编程基础循环控制
热门推荐
weixin_43100558的博客
05-27 1万+
OpenJudge解——1.5编程基础循环控制
openjudge 1.5.11 整数的个数
weixin_60869516的博客
09-09 365
循环结构
openjudge 1.5.33
Luo_Yuxuan的博客
09-18 682
2.重复执行n次(判断次数是奇数还是偶数)如果是奇数就-,偶数就+1.创建变量n,sum=0(sum表示累加器)输入n。
1.5 编程基础循环控制 python版.rar
11-21
1.5 编程基础循环控制 python版.rar
1.5编程基础循环控制(45)
08-03
2018/07/20 周五 12:58 450 21角谷猜想.cpp 2018/07/20 周五 12:59 520 22津津的储蓄计划.cpp 2018/07/20 周五 12:59 400 23药房管理.cpp 2018/07/20 周五 12:59 642 24正常血压.cpp 2018/07/20 周五 13:00 453 25求...
1.5编程基础循环控制_16买房子
03-18
1.5编程基础循环控制_16买房子
1.5编程基础循环控制_40数1的个数(2021.12.11).pdf
12-11
编程基础循环控制 本节课将带领学生探索编程基础中的循环控制,通过实践和解释,帮助学生掌握循环控制的概念和应用。 循环控制的概念 循环控制是指在编程中,使用循环结构来控制程序的执行流程。循环结构可以使...
1.5编程基础循环控制_37雇佣兵.pdf
09-17
1.5编程基础循环控制_37雇佣兵 1.5编程基础循环控制_37雇佣兵
NOI题库大福利!1.1全
07-30
2018/07/20 周五 13:10 . 2018/07/20 周五 13:10 .. 2018/07/20 周五 13:07 106 01Hello, World!.cpp 2018/07/20 周五 13:10 124 02输出第二个整数.cpp 2018/07/20 周五 13:12 309 03对齐输出.cpp 2018/07/20 周五 13:12 179 04输出保留3位小数的浮点数.cpp 2018/07/20 周五 13:12 181 05输出保留12位小数的浮点数.cpp 2018/07/20 周五 13:12 331 06空格分隔输出.cpp 2018/07/20 周五 13:11 236 07输出浮点数.cpp 2018/07/20 周五 13:11 241 08字符三角形.cpp 2018/07/20 周五 13:14 321 09字符菱形.cpp 2018/07/20 周五 13:11 2,384 10超级玛丽游戏.cpp 10 个文件 4,412 字节 2 个目录 1,989,103,616 可用字节
Openjudge1.5答案(前十
Derry2012的博客
02-28 453
【代码】Openjudge1.5答案(前十
openJudge1.4题库1~5答案答案
wzgwmx的博客
02-01 2636
openjudge答案
OpenJudge NOI 1.5 编程基础循环控制(41-45C++ 解题思路
leleprogrammer的博客
10-04 1482
续上一篇文章剩下最后5道,继续鸭~~
Openjudge 1.5.5
weixin_73353400的博客
08-27 184
循环结构
OpenJudge-1.5.05:最高的分数
just_panlei的博客
09-02 154
OpenJudge-1.5.05:最高的分数
1.5编程基础循环控制_40数1的个数
青少年趣味编程
12-11 403
http://noi.openjudge.cn/ch0105/40/ #include <iostream> #include <iomanip> using namespace std; int main( void ) { int n, temp, value=0; cin >> n; for (int i=1;i<=n;i++) { temp = i; w
OpenJudge-NOI-1.5.30-含k个3的数
just_panlei的博客
08-08 73
含k个3的数
NOI 1.5编程基础循环控制 44:第n小的质数
06-01
好的,我知道了。下面是一种解法: 首先,我们可以先写一个判断质数的函数 isPrime,用来判断一个数是否为质数。 然后,我们从 2 开始依次判断每一个数是否为质数,直到找到第 n 个质数为止。...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Python 无法从keras.layers.normalization导入 LayerNormalization 18116
  • 手把手教你搭建一个Minecraft 服务器 16252
  • Minecraft HMCL 第三方启动器使用教程 16213
  • 用Python记录一场2023的烟花 16040
  • DJI Flight Simulator 大疆飞行模拟器 安装教程 14493

分类专栏

  • Java Swing 游戏开发 2篇
  • 基于Easyx框架的C++游戏开发 1篇
  • OpenJudge刷题笔记 10篇
  • Adobe Illustrator 教程 4篇
  • LintCode 刷题笔记 13篇
  • Leetcode 26篇
  • pygame 5篇
  • Pygame 学习笔记 8篇
  • Minecraft 我的世界 6篇
  • 手把手教你用Python编一个《我的世界》 3篇
  • Python Prim算法 生成迷宫 3篇
  • Error 21篇
  • PyQt5遇到的坑 4篇
  • KerasError 5篇

最新评论

  • Python 用Ursina 3D引擎做一个太阳系行星模拟器

    cn13168: 为什么行星不能贴图?

  • Python 用Ursina 3D引擎做一个太阳系行星模拟器

    Vae_0625: 为什么允许之后只有黑白色,纹理加不上

  • 解决Visual Studio中C++创建类时报错“未能返回新代码元素,可能是语法错误,新元素名:xxx”的问题

    wangjun825: 谢谢!解决我的问题

  • LintCode 8. 旋转字符数组 Python

    一起吹晚风679: 冒昧问一下 那个通关软件是什么 求求了

  • Python 小项目 简易文字加密/解密器

    2401_83460623: shafa

大家在看

  • 头歌-共享单车实训全代码(粘贴复制即可)
  • 前端:2024年非常受欢迎非常火的 VueUI 库
  • Java 流(Stream)、文件(File)和IO详解

最新文章

  • 用Python记录一场2023的烟花
  • 随手一画都能成为大作的NVIDIA CANVAS
  • CKEditor 为你的Flask项目添加一个富文本编辑器
2023年1篇
2022年105篇
2021年42篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

4617作文网赵英俊死因五笔字型输入法下载死神剧场版传奇加速器免费版妇孺皆知拼音灵欲春宵憾生教师政治学习笔记金鼠年起名字伪娘视频电脑主机启动不了鸿字男宝起名属猴取名起名大全cctv5直播帚神合作社取名起名大全大全免费新超越极限密码维修方面的公司怎么起名百分起名大全垃圾公司起什么名字冒险岛恶魔猎手用爸妈的名字怎么 起名血型遗传魏姓起名字啊51号星球下载第二爱情xnaframework4.0铺起名韩姓起名韩姓男生名字太上老君是谁淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男子给前妻转账 现任妻子起诉要回网友建议重庆地铁不准乘客携带菜筐月嫂回应掌掴婴儿是在赶虫子重庆警方辟谣“男子杀人焚尸”国产伟哥去年销售近13亿新的一天从800个哈欠开始男孩疑遭霸凌 家长讨说法被踢出群高中生被打伤下体休学 邯郸通报男子持台球杆殴打2名女店员被抓19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警两大学生合买彩票中奖一人不认账德国打算提及普京时仅用姓名山西省委原副书记商黎光被逮捕武汉大学樱花即将进入盛花期今日春分张家界的山上“长”满了韩国人?特朗普谈“凯特王妃P图照”王树国3次鞠躬告别西交大师生白宫:哈马斯三号人物被杀代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了房客欠租失踪 房东直发愁倪萍分享减重40斤方法“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火手机成瘾是影响睡眠质量重要因素考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼网友洛杉矶偶遇贾玲呼北高速交通事故已致14人死亡西双版纳热带植物园回应蜉蝣大爆发男孩8年未见母亲被告知被遗忘张立群任西安交通大学校长恒大被罚41.75亿到底怎么缴沈阳一轿车冲入人行道致3死2伤奥运男篮美国塞尔维亚同组周杰伦一审败诉网易国标起草人:淀粉肠是低配版火腿肠外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万杨倩无缘巴黎奥运男子被猫抓伤后确诊“猫抓病”春分“立蛋”成功率更高?记者:伊万改变了国足氛围奥巴马现身唐宁街 黑色着装引猜测

4617作文网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化