/*
gesp1必会代码、编程思想 v1.0.5
zycsuper 2026/2/26
*/
#include <bits/stdc++.h>
using namespace std;
int main() {
    /* 2026/3/8
	p:科学计数法的表达
	s:用e表示
	c:
	int N=2e4;  //20000
	cout<<N<<endl;
	int M=2e4+5;
	cout<<M<<endl;*/
	
    /* 2026/2/26
	p:整数和布尔值转换规律
	s:直接赋值,规律如下  
	  true  -> 1
	  false -> 0
	c:
	int a=1;
	bool b=a;
	cout<<b;*/

	/*
	p:输入、输出一个小数,保留2位小数 c语言版
	s:用scanf输入,printf输出
	c:
	double a;
	scanf("%lf",&a);    //相当于cin  3.1415926
	printf("%.2lf",a);  //相当于cout cout*/

	/*
	p:输入、输出2个整数,c语言版
	s:用scanf输入,printf输出
	c:
	int a,b;
	scanf("%d %d",&a,&b); 
	printf("%d %d",a,b); */

	/*
	p:输入、输出2个整数,c++语言版
	s:用cin输入,cout输出
	c:
	int a,b;
	cin>>a>>b;
	cout<<a<<" "<<b;*/

	/*
	p:输入多个数,比如n个,写法1
	s:循环n次,依次输入,存入t中
	c:
	int n;
	cin>>n;
	for (int i=0;i<n;i++) {
		int t;
		cin>>t;
	}*/

	/* 2026/2/26
	p:计算变量的存储空间
	s:用sizeof,单位是字节
	c:
	bool a=true;
    char b='x';
	int  c=8;
    cout<<sizeof(a)<<' '<<sizeof(b)<<' '<<sizeof(c); */

	/* 2026/2/26
	p:交换两个变量的值
	s:引入中介变量t,方法一,第一个模板代码,训练思维用的
	c:
	int a=3;
	int b=4;
	int t;   //引入中间变量t
	if (a<b) {
		t=a;   //提前备份a
		a=b;   //用b把a覆盖
		b=t;   //用t把b覆盖
	}
	cout<<a<<" "<<b;*/

	/* 2026/2/26
	p:交换两个变量的值
	s:用swap函数,方法二,用现成函数,快
	c:
	int a=3;
	int b=4;
	if (a<b) {
		swap(a,b);
	}
	cout<<a<<" "<<b; */

	/*
	p:输入多个数,比如n个,写法2
	s:循环n次,依次输入,存入t中
	c:
	int n;
	cin>>n;
	while (n--) {
		int t;
		cin>>t;
	}*/

    /*
	p:判断奇数、偶数
	s:用n%2是否为0判断
	c:
    int n;
    cin>>n;
	if (n%2==0) cout<<"偶数";  //偶数
	if (n%2==1) cout<<"奇数";  //奇数*/

	/*
	p:循环n次的方法,有两种
	s:
	c:
    int n;
	cin>>n;
	for (int i=1;i<=n;i++) { //需要i作用时,用这个
		cout<<"t"<<endl;  //循环n次 
	}
	while (n--) { //3,2,1,0 ,i无用时
		cout<<"t"<<endl;
	} */

    /*
	p:闰年判断
	s:两种闰年同时考虑
	c:
    int i;
    cin>>i;
    if ((i%4==0 && i%100!=0) || (i%400==0)) {
        cout<<"闰年";
    }
    else cout<<"平年";*/

    /*
	p:开平方
	s:用sqrt(n)
	c:
    int t=sqrt(9);
    cout<<t;   //t=3*/

    /*
	p:求幂,a的n次方
	s:pow(a,n)
	c:
    int a=2;
    int t=pow(a,3);
    cout<<t;  //t=8*/
	
	/*
	p:大写转小写
	s:加32,32='z'-'Z'
	c:
	char x='C';
	char y=x+('z'-'Z');  //'z'-'Z'=32
	cout<<y;*/

    /*
	p:小写转大写
	s:减32,32='z'-'Z'
	c:
	char x='a';
	char y=x-('z'-'Z');  //'z'-'Z'=32
	cout<<y;*/

    /*
	p:数字字符转为纯数字
	s:减'0'或者48
	c:
    char a='3';
    int b=a-'0';  //-48
    cout<<b+1;    //b是数字3,+1后,输出4*/
	
	/*
	p:求和1+2+...+n
	s:循环i从1到n,累加i
	c:
	int n;
	cin>>n;
	int s=0;
	for (int i=1;i<=n;i++) {
		s+=i;   //i是累加项 
	}
	cout<<s;*/
	
	/*
	p:累加求和
	s:累加项本身也要表达为累加和,总和再累加它
	c:
	int n;
	cin>>n;
	int s=0; //累加变量初始值为0,这种变量也叫做累加器
	for (int i=1;i<=n;i++) {
		int a=0;
		for (int j=1;j<=i;j++) { //循环嵌套 
			a+=j;
		}
		s+=a;
	}
	cout<<s;*/
	
	/*
	p:求阶乘 n!
	s:循坏1到n,累积它
	c:
	int n;
	cin>>n;
	int s=1;     //类乘变量初始值为1,这种变量也叫做累乘器
	for (int i=1;i<=n;i++) {  //i 循环变量 
		s*=i;
	}
	cout<<s;*/
	
	/*
	p:累加求阶乘: 1!+2!+3!+...+n!
	s:累加项表达为阶乘,再累加
	c:
	int n;
    cin>>n;
    long long sum=0;
    long long t=1;
    for (int i=1;i<=n;i++) {
        t*=i;   //累加项 
        sum+=t; //累加变量 
    }
    cout<<sum;*/

	/*
	p:统计范围内的数字:统计n以内的奇数个数
	s:在范围内循环,满足条件就计数
	c:
	int n;
	cin>>n;
	int cnt=0;     //统计个数的变量,叫做计数器,初始值为0
	for (int i=1;i<=n;i++) {
		if (i%2!=0) {
			cnt++;        
		}
	}
	cout<<cnt;*/
	
    /*
	p:找最小值
	s:打擂法,初始值最大
	c:
	int n;
    cin>>n;
    int x=0x3f3f3f3f;     //最小,初始化为最大值 
    int a;
    for(int i=0;i<n;i++){ //输入n个数
		cin>>a;           //每次上台打擂的人
        if (a<x){         //记录赢的人
            x=a;
        }
	}
    cout<<x;*/
    
    
    /*
	p:找最大值
	s:打擂法,初始值最小
	c:
	int n;
    cin>>n;
    int x=-0x3f3f3f3f;    //最小,初始化为最小3值 
    int a;
    for(int i=0;i<n;i++){ //输入n个数
		cin>>a;           //每次上台打擂的人
        if (a>x){       //记录赢的人
            x=a;
        }
	}
    cout<<x;*/
	
	/*
	p:小杨的考试:过了n天是星期几?
	s:列表分析法找规律
	c:
	int x,n;
	cin>>x>>n;
	int t;    //总数字 
	t=x+n; 
	if (t<7) {
		cout<<t;
	} 
	else {
		int u=t%7;
		if (u==0) {
			cout<<7;
		}	
		else 
			cout<<u;
	} */

    /*
	p:小杨的考试:过了n天是星期几? 公式法
	s:记公式(x+n)%7
	c:
	int x;    //当前星期
    int n;    //过了n天
    cin>>x>>n;
    cout<<(x+n)%7;*/

    //过了n个月,是几月
    /*int x; //当前月份
    int n; //过了n个月,含x月
    cin>>x>>n;
    int t=(x+n)%12;
    if (t==0) cout<<12;
    else cout<<t;*/

    /*
	p:数位分离问题
	s:循环取个位法
	c:
    int n=1234;
    while (n) {
        int t=n%10;
        cout<<t<<" ";
        n/=10;
    }*/
	
    /* 编程思想:计算思维
    1、枚举法:    从开始数到最后,对应for循环,例如:累计相加
    2、分类讨论:  分成多种情况分别处理,对应选择结构,例如:每月天数
    3、找规律:    列表分析数据,找出规律,例如:小杨的考试
    4、打擂台法:  求最大值或者最小值。
	5、进位算法:  按照进位的规律逐步推算,例如:休息时间
    6、余数应用:  余数的含义,补充加1。例如:图书馆里的老鼠 */

	/* 常见错误及其纠正:
	1、累加变量没有初始化。应该初始值为0
	2、类乘变量没有初始化。应该初始值为1
    3、if 条件后紧跟分号,导致语句无效。应该去掉分号。
	4、for 循环的i=0后,写逗号。应该是分号。
	5、while 条件后紧跟分号,导致语句无效。应该去掉分号。
	6、for 循环条件后,紧跟分号,导致循环体失效。应该去掉分号。*/

	/* 重点题单:
	3091:练16.3 选择题判定    多次字符输入
	3093:【例17.2】 蜗牛爬行   分类计算
	*/

    return 0;
}