信息学竞赛中的数学 习题集 741-750(10题)

3443:【例78.1】忽明忽暗

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

3444:【例78.2】大整数加法

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

/*
1.6编程基础之一维数组 10大整数加法(AC)-2022.08.11 运算符重载 
http://noi.openjudge.cn/ch0106/10/
*/
#include <algorithm>
#include <iostream>
#include <cstring>
#include <sstream>
#include <cstdlib>
#include <string>
#include <cstdio>
#include <cctype>
#include <vector>
#include <ctime>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
using namespace std;
const int maxn=201;
struct bignumber
{
	int len,s[maxn];
	bignumber(){memset(s,0,sizeof(s));len=1;}
	bignumber operator = (const char* num)
{
	len=strlen(num);
	for(int i=0;i<len;i++)s[i]=num[len-i-1]-'0';
	return *this;
}
bignumber operator = (const int num)
{
	char a[maxn];
	sprintf(a,"%d",num);
	*this=a;
	return *this;
}
bignumber (const int num){*this=num;}
bignumber (const char* num){*this=num;}
bignumber operator+(const bignumber& a)
{
	bignumber c;
	c.len=max(len,a.len)+1;
	for(int i=0,x=0;i<c.len;i++)
	{
		c.s[i]=s[i]+a.s[i]+x;
		x=c.s[i]/10;
		c.s[i]=c.s[i]%10;
	}
	while(c.s[c.len-1]==0&&c.len>1)c.len--;
	return c;
}
bool operator < (const bignumber& x)const
{
	if(len!=x.len)return len<x.len;
	for(int i=len-1;i>=0;i--)if(s[i]!=x.s[i])return s[i]<x.s[i];
	return false;
}
};
ostream& operator<<(ostream& out,const bignumber &x)
{
	for(int i=x.len-1;i>=0;i--)cout<<x.s[i];
	return out;
}
istream& operator>>(istream& in,bignumber &x)
{
	char num[maxn];
	in>>num;
	x=num;
	return in;
}
bignumber a,b;
int main()
{
	ios::sync_with_stdio(false);
	cin>>a>>b;
	cout<<a+b<<endl;
	return 0;
}


/*
1168:大整数加法
http://ybt.ssoier.cn:8088/problem_show.php?pid=1168

P1601 A+B Problem(高精)
https://www.luogu.com.cn/problem/P1601

1.6编程基础之一维数组 10:大整数加法
http://noi.openjudge.cn/ch0106/10/
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <bits/stdc++.h> 
using namespace std;
int main( void )
{
	//char a1[300],b1[300];
	
	string a1,b1;
	
	int a[300],b[300],c[300],lena,lenb,lenc,i,x;
	
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(c,0,sizeof(c));
	
	//输入加数与被加数
	//gets(a1);
	//gets(b1);
	
	cin>>a1;
	cin>>b1;
	                                         
	lena=a1.length();
	lenb=b1.length();
	
	//将输入字符串倒置
	//加数放入a数组 
	for (i=0;i<=lena-1;i++) a[lena-i]=a1[i]-48;    
	/*
	//加数放入a数组
	for (i=0;i<=lena-1;i++) a[lena-i]=a1[i]-'0';    
	*/
	
	//加数放入b数组
	for (i=0;i<=lenb-1;i++) b[lenb-i]=b1[i]-48;    
	
	lenc =1;
	x=0;
	while ( lenc <=lena || lenc <=lenb )
	{
		//两数相加
		c[lenc]=a[lenc]+b[lenc]+x;     
		x=c[lenc]/10;
		c[lenc]%=10;
	    lenc++;
	}
	c[lenc]=x; 
	
	//去掉多余的0
	while(c[lenc]==0 && lenc>1)   
	{
		lenc--;
	}
	/*
	//处理最高进位
	if (c[lenc]==0)
		lenc--;                                    
	*/
	
	//输出结果
	for (i=lenc;i>=1;i--) 
		cout<<c[i];                            
	
	cout<<endl;
	
	return 0;
} 



3445:【例78.3】回文数(Noip1999)

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

3446:练78.1 高精度乘法

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

3447:练78.2 大整数减法

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

/*
1.6编程基础之一维数组 11 大整数减法 方法一 
http://noi.openjudge.cn/ch0106/11/

1169:大整数减法
http://ybt.ssoier.cn:8088/problem_show.php?pid=1169
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
	string a1,b1;
	//char a1[300],b1[300];
  	int a[300],b[300],c[300],lena,lenb,lenc,i,x;
  	memset(a,0,sizeof(a));
  	memset(b,0,sizeof(b));
  	memset(c,0,sizeof(c));
  	
	cin>>a1>>b1;  
	//gets(a1);
 	//gets(b1);    //输入加数与被加数
  	lena=a1.size();
  	lenb=b1.size();
  	
	for (i=0;i<=lena-1;i++) a[lena-i]=a1[i]-'0';   //加数放入a数组
	for (i=0;i<=lenb-1;i++) b[lenb-i]=b1[i]-48;    //加数放入b数组
  	
	
	i=1;
	while (i<=lena||i<=lenb)
	{
		if (a[i]<b[i])
		{
			a[i]+=10;      //不够减,那么向高位借1当10
			a[i+1]--;
		}
		c[i]=a[i]-b[i];   //对应位相减
		i++;
	}
	lenc=i;
	while ((c[lenc]==0)&&(lenc>1)) lenc--;   //最高位的0不输出    
	for (i=lenc;i>=1;i--) cout<<c[i];               //输出结果
	cout<<endl;

	return 0;
} 



1057.(课程ZF)求和 为 C

登录

#include<iostream>
using namespace std;
int k[300005];
int main(){
	int n,m,ans=0,d=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>k[i];
	} 
	int l=1,r=1;
	ans=k[1];
	while(r<=n&&l<=n){
		while(ans>=m){
			if(ans==m)d++;
			ans-=k[l++];
		}
		ans+=k[++r];
	}
	cout<<d;
	return 0;
} 


1058.(课程ZF)最大值

登录

#include<bits/stdc++.h>
using namespace std;
set<int> s;
map<int,int>e;
int ans=0,sum=0;
int k[300005];
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>k[i];
	}
	for(int i=1;i<=m;i++){
		if(++e[k[i]]==1){
			s.insert(k[i]);
			
		}
	}
	cout<<*--s.end()<<" ";
	for(int i=m+1;i<=n;i++){
		if(++e[k[i]]==1)s.insert(k[i]);
		if(--e[k[i-m]]==0)s.erase(k[i-m]);
		cout<<*--s.end()<<" ";
	}
	return 0;
}



2512.期末考试第1套-选择题4

登录

2513.期末考试第1套-选择题5

登录

2514.期末考试第1套-判断题1

登录









1、Go C画图 视频集与习题集

Go C画图 视频集与习题集-CSDN博客

2、《小学生C++趣味编程》第1单元--第7单元

《小学生C++趣味编程》第1单元--第7单元-CSDN博客

3、《小学生C++趣味编程》视频 第1单元--第8单元

《小学生C++趣味编程》视频 第1单元--第8单元-CSDN博客

4、【信息学奥赛一本通-编程启蒙】部分视频集(2023.10.12)

【信息学奥赛一本通-编程启蒙】部分视频集(2023.10.12)-CSDN博客

5、从零开始学习C++编程(1-36集)

从零开始学习C++编程(1-36集)-CSDN博客

6、C++信息学轻松入门系列(1-81集)

C++信息学轻松入门系列(1-81集)-CSDN博客

7、《啊哈,C语言》【代码】【习题答案】课后习题练习记录

《啊哈,C语言》【代码】【习题答案】课后习题练习记录_啊哈c语言习题-CSDN博客

8、信息学奥赛一本通-编程启蒙 第1-17集

信息学奥赛一本通-编程启蒙 第1-17集-CSDN博客

9、C++版-----信息学奥赛一本通-----编程启蒙(1-19)

C++版-----信息学奥赛一本通-----编程启蒙(1-19)-CSDN博客

10、C++入门课(1-61)《信息学奥赛一本通 编程启蒙 C++版》

C++入门课(1-61)《信息学奥赛一本通 编程启蒙 C++版》_信息学奥赛一本通编程启蒙(c++版)-CSDN博客

11、【信息学奥赛一本通-编程启蒙】部分视频集(2023.10.12)

【信息学奥赛一本通-编程启蒙】部分视频集(2023.10.12)-CSDN博客

12、《信息学奥赛一本通 编程启蒙C++版》第1课 -- 第86课

《信息学奥赛一本通 编程启蒙C++版》第1课 -- 第86课_信息学奥赛atcoder-CSDN博客

13、《信息学奥赛一本通编程启蒙(C++版)》知乎

《信息学奥赛一本通编程启蒙(C++版)》 - 知乎

14、信息学奥赛一本通-编程启蒙 解题目录

https://blog.csdn.net/sxj_c/category_12384636.html

15、C++入门书太多了,有的还配有视频

比如:

(1)、《小学生C++趣味编程》第2版

(2)、青少年C++创意编程趣味课堂(微课版)-2019.11

(3)、小学生C++创意编程 视频教学版(2020.06)

(4)、中小学C++编程项目学习创意课堂(微课版)-2022.03

(5)、思维导图学C++趣味编程(上下全彩印刷)-2022.09




有哪些信息学奥赛相关的比赛和考试

有哪些信息学奥赛相关的比赛和考试_梦熊csp初赛-CSDN博客

中小学信息学相关比赛汇总(C++类)

中小学信息学相关比赛汇总(C++类)_信息学考试有哪些-CSDN博客

信息学奥赛学习、训练、测试的顺序,思路及方法

信息学奥赛学习、训练、测试的顺序,思路及方法_c++信奥赛学习顺序-CSDN博客

信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学

信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学_洛谷的csp课程怎么样-CSDN博客

信息学奥赛训练体系(2023.02.21)

信息学奥赛训练体系(2023.02.21)_信息学竞赛基础训练系统构建方案-CSDN博客

CSP-J2 CSP-S2 复赛 第2轮 比赛技巧-做题策略与时间分配、容易犯错误汇总 NOI Linux2.0文件操作等

CSP-J2 CSP-S2 复赛 第2轮 比赛技巧-做题策略与时间分配、容易犯错误汇总 NOI Linux2.0文件操作等_noip linux 与 windows 注意问题-CSDN博客

NOI Linux 2.0的简单用法、CSP-J2、CSP-S2复赛注意事项等

NOI Linux 2.0的简单用法、CSP-J2、CSP-S2复赛注意事项等_csp复赛windows+noilinux2.0-CSDN博客

创新、创新思维书籍(2023.10。10)

创新、创新思维书籍(2023.10。10)_专利创造性思维 书籍-CSDN博客

调试与对拍

调试与对拍_python进行对拍-CSDN博客

信奥中的“骗”分神技 ---“打表”

信奥中的“骗”分神技 ---“打表”_c++ 信奥比赛 中文 英文-CSDN博客

【NOI2022】PV「什么是信息学精神?」

【NOI2022】PV「什么是信息学精神?」-CSDN博客

学习信奥(CSP-J CSP-S NOIP等),以赛带练 有哪些比赛可以参加

学习信奥(CSP-J CSP-S NOIP等),以赛带练 有哪些比赛可以参加-CSDN博客

信息学竞赛 省选题单 整理(2024.01.03)

信息学竞赛 省选题单 整理(2024.01.03)-CSDN博客

NOI数学 学习 相关书籍及视频等资料(不包括CTS内容)

NOI数学 学习 相关书籍及视频等资料(不包括CTS内容)-CSDN博客

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值