欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

class14 lcy 文件操作 模拟法 枚举法

时间:2024-07-22 09:09 作者:admin 点击:
任务:174+12+12+12 = 210 ---文件操作 #include iostream using namespace std; int main(){ freopen("hhhhh.in","r",stdin); //通过cin重定向,将读取信息的流程操作为从hhhhh.in进行读取,r代表读取权限 freopen("hhh

任务:174+12+12+12 = 210


---文件操作

#include <iostream>

using namespace std;

int main(){

   freopen("hhhhh.in","r",stdin);

   //通过cin重定向,将读取信息的流程操作为从hhhhh.in进行读取,r代表读取权限

   freopen("hhhhh.out","w",stdout);

   //将cout输出框,改为将信息写入到hhhhh.out中,w代表写入权限(覆盖)


   //freopen("hhhhh.out","a",stdout);//a 追加权限


   int a,b;

   cin>>a>>b;

   cout<<a+b;



   fclose(stdin);//断开与文件的连接

   fclose(stdout);//断开与文件的连接


   return 0;

}


#include <iostream>

#include <fstream> //file stream

using namespace std;

int main(){

   //文件读写操作

   ifstream fin("hhhhh.in");

   ofstream fout("hhhhh.out");(覆盖)


   //ofstream fout("hhhhh.out",ios::app);//追加权限


   int a,b;

   fin>>a>>b;

   fout<<a+b;


   fin.close();

   fout.close();

   return 0;

}


其他文件相关的操作:

https://noicode.online/exclusivetomembers/wenjian.html


模拟法:

在算法设计中,通常指按照题目描述的过程,一步一步"重演"或"模仿"整个过程得到结果。

方法适用于题目中有明确规则和操作的类型,如游戏类或者状态转换类,每一步都可以被明确的定义和追踪。

关键点:准确的理解题目的含义,抽象出问题的细节(将相对复杂的题目精简),将细节转换成程序的具体步骤。

模拟法的方案通常不是最高效的解决方案,但是它通常是最好理解的方案。

输入n,输出1+2+3+4+...n的和

//模拟法

int n;

cin>>n;

int sum=0;

for(int i=1;i<=n;i++){

   sum+=i;

}

cout<<sum;

//公式法

int n;

cin>>n;

cout<<(n+1)*n/2;


枚举法(穷举法、暴力破解、暴力搜索)

在解决问题时,通常按照逐一检查所有可能性,通过条件筛选,选出正确答案。

方法适用于问题规模较小的情况,因为方案的时间和空间复杂度随着问题规模的增大会急剧增加。时间复杂度通常是指数级。

限制:1、该问题必须可以列出所有可能性或者所有可能性不是很多的情况;2、筛选条件是容易列举的


//枚举法的应用

输出100以内所有的完全平方数

for(int i=1;i<=100;i++){

   int k=sqrt(i);

   if(k*k==i) cout<<i<<" ";

}


for(int i=1;i*i<=100;i++){

   cout<<i*i<<" ";

}


(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%