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

news/2024/11/28 5:41:42/

续上一篇文章

https://blog.csdn.net/leleprogrammer/article/details/127164315https://blog.csdn.net/leleprogrammer/article/details/127164315剩下最后5道题,继续鸭~~


目录

41 数字统计

42 画矩形

43 质因数分解

44 第n小的质数

45 金币


41 数字统计

#include <iostream>
using namespace std;int main() {int l,r,result=0;cin>>l>>r;for (int i=l;i<=r;++i) {int i2=i;while (true) {int w=i2%10;i2/=10;if (w==2) {result++;}if (i2==0) {break;}}}cout<<result;return 0;
}

又是一道分解数位的题~~~~ 

42 画矩形

#include <iostream>
using namespace std;int main() {short w,h,a;char c;cin>>h>>w>>c>>a;a=(bool)a;for (int i=1;i<=h;++i) {for (int j=1;j<=w;++j) {if ((a)||((!a)&&(i==1||i==h||j==1||j==w)))cout<<c;elsecout<<" ";}cout<<endl;}return 0;
}

 这道题仿佛又回归输入输出那一篇章了~~~

43 质因数分解

#include <bits/stdc++.h>
using namespace std;int main() {int n,z=0;cin>>n;for (int i=2;i<=sqrt(n);++i) {bool a=false;for (int j=2;j<=sqrt(i);++j) {if (i%j==0) {a=true;break;}}if ((!a)&&n%i==0) {cout<<n/i;return 0;}}return 0;
}

直接通过开根号对半,减少算法时间, 因为如果不这样写的话,很大几率这样:

这里开根号用到头文件<cmath>,懒得再写一行,直接用万能头文件<bits/stdc++.h> 

44 第n小的质数

#include <bits/stdc++.h>
using namespace std;int main() {int n,c=0,i=1;cin>>n;while (c<n) {i++;bool yes=true;for (int j=2;j<=sqrt(i);++j) {if (i%j==0) {yes=false;break;}}if (yes) {c++;}}cout<<i;return 0;
}

这道题同样sqrt对半来算,高效一点 

45 金币

#include <iostream>
using namespace std;int main() {int d,gold=0,c=0;cin>>d;while (d>c) {c++;d-=c;gold+=c*c;}if (d>0) {c++;gold+=d*c;}cout<<gold;return 0;
}

 好啦,这样我们OpenJudge NOI 1.5章的所有题目就这样告一段落啦!!

喜欢就关注一下吧~~~ 


http://www.ppmy.cn/news/374386.html

相关文章

君正Zeratul开发(6)——为什么禁止使用system

(一)前言 在君正Zeratul_T31_开发指南中明确规范&#xff0c;禁止在主程序中使用system 等系统调用接口函数&#xff0c;需要在另外的一个守护进程中去实现system函数的功能。这里有两个问题&#xff1a;1.system函数有哪些不安全的地方&#xff1f; 2.为什么不可以在主进程中去…

Array-T41. First Missing Positive

Problem&#xff1a;Given an unsorted integer array, find the smallest missing positive integer. Note: Your algorithm should run in O(n) time and uses constant extra space. Solve&#xff1a;(复杂度为O(nlogn)) Thought&#xff1a;由于所给的列表为无序列表&am…

T41:单词的翻转(Java)

t题目&#xff1a;牛客最近来了一个新员工Fish&#xff0c;每天早晨总是会拿着一本英文杂志&#xff0c;写些句子在本子上。同事Cat对Fish写的内容颇感兴趣&#xff0c;有一天他向Fish借来翻看&#xff0c;但却读不懂它的意思。例如&#xff0c;“student. a am I”。后来才意识…

剑指offer T41 数据流的中位数

中位数就是所有数值排序!!!之后位于中间的数值 既然要对所有元素进行排序&#xff0c;考虑使用自带排序的容器&#xff1a;然后TreeSet和TreeMap都不适合 那考虑使用堆来做 思想&#xff1a; 建立两个堆&#xff0c;一个大顶堆lowHeap&#xff0c;一个小顶堆 highHeap 其中大顶…

力扣LeetCode(二)T41-T80

文章目录 41.缺失的第一个正数42.接雨水43.字符串相乘44.通配符匹配45.跳跃游戏 II &#xff08;贪心&#xff09;46.全排列&#xff08;两种模板&#xff09;47.全排列 II&#xff08;序列不重模板&#xff09;48.旋转图像49. 字母异位词分组50.pow(x,n) &#xff08;快速幂&a…

T41 (i7 集显)安装黑苹果

主体参照http://bbs.pcbeta.com/forum.php?modviewthread&tid1566555 注意那个盘符一定要AF 转载于:https://www.cnblogs.com/souroot/p/4537504.html

剑指offer T41

#include <iostream> using namespace std; void printfcontinuesequence(int a,int b)//打印序列 {for(int ia;i<b;i)cout<<i<< ;cout<<endl; } void findcontinuesequence(int sum) //找序列 {if(sum<3)return;int small 1;int large 2;int …

【纯国产化AI处理器T41ZX-极低功耗,极速快启】

一、结构框图 二、 性能 2.1 CPU。 XBurst2频率范围为1.0GHz-1.4GHz。双核。IPS32 ISA R5的双问题、高性能和低功耗实现。MIPS32 ISA R5加Ingenic SIMD512 ISA。具有同时多线程&#xff08;SMT&#xff09;的双问题、超标量、超级流水线。32K LI D-cache32K LI I-cache&#xf…