ACM实训冲刺第二十天

SUM Problem(数学计算与序列求和

这段代码实现的是计算一个正整数n与其之前的所有正整数之和的问题,它属于数学计算与序列求和的题型。具体算法根据输入整数n的奇偶性采用了两种形式的等差数列求和公式:

  • 如果n是偶数,则使用公式 sum = n/2 * (n + 1),这是等差数列求和公式sum = n/2 * (首项 + 末项)的应用,其中首项为1,末项为n
  • 如果n是奇数,则稍微调整了公式为 sum = (n + 1)/2 * n,原理相同,只是因为当n为奇数时,实际上末项会参与到中间的乘法计算中,而首项依然是通过总项数和末项推导出来。

因此,这段代码展示了如何根据输入数值的特性选择合适的数学公式进行快速求解,体现了数学计算和逻辑判断的结合。

#include<stdio.h>
int main(){int n,sum;while(scanf("%d",&n)!=EOF){if(n%2==0)sum=n/2*(n+1);else sum=(n+1)/2*n;printf("%d\n",sum);}return 0;
}

A+B problem(数值运算与字符串处理

这段代码实现的是大数相加的算法问题。它主要用于处理两个较大的整数(其长度可能超过普通整型变量所能直接存储的范围)相加的情况。代码首先读取测试用例的数量,然后对于每个测试用例,读取两个字符串形式的大整数,并将它们相加。

核心算法步骤如下:

  1. 输入处理:读取大数字符串,并计算每个字符串的长度。
  2. 逐位相加:从最低位(个位)开始,将字符转换成数字进行相加。同时处理进位情况。
  3. 处理结果:如果相加后有进位,则需要在结果数组中添加额外的位置来存储进位值。
  4. 输出结果:按照题目要求的格式输出原始数字以及它们的和。

因此,此代码属于基础算法中的数值运算与字符串处理类别,特别是专注于大数运算的处理技巧。

#include <stdio.h>
#include <string.h>
int main(){int T;scanf("%d", &T);int j,k;for (j = 1; j <= T; j++){char number1[1000];char number2[1000];int sum[1000] = {0};//置0scanf("%s%s", number1, number2);int len1 = strlen(number1);int len2 = strlen(number2);int i;for (i = 0; i < len1 || i < len2; i++){if (i < len1)sum[i] += number1[len1 - i - 1] - '0';//字符转换为数字if (i < len2)sum[i] += number2[len2 - i - 1] - '0';if (sum[i] >= 10){sum[i + 1] = sum[i] / 10;sum[i] = sum[i] % 10;}}printf("Case %d:\n", j);//格式输出for (k = 0; k<len1; k++)printf("%c", number1[k]);printf(" ");printf("+");printf(" ");for (k = 0; k<len2; k++)printf("%c", number2[k]);printf(" ");printf("=");printf(" ");if (len1 < len2)//判断谁最长len1 = len2;if (sum[i]>0)printf("%d", sum[i]);//最高位产生进位for (i = len1 - 1; i >= 0; i--)printf("%d", sum[i]);printf("\n\n");}return 0;
}

Anton and letters(频率统计题)

此段代码属于算法中的频率统计题型。它的主要功能是统计输入字符中英文字母(小写)出现的种类数。具体来说,程序使用一个整型数组flag来记录字母表中每个字母出现的次数,遍历输入的字符,当遇到小写字母时,对应字母在字母表中的位置(即tmp-'a')的计数器加一。最后,统计计数器大于0的个数,即为出现不同字母的种类数。因此,这是关于数据处理和分析的频率统计问题。

#include<stdio.h>
int main(){int flag[26];for(int i=0;i<26;i++) flag[i]=0;char tmp;while(tmp!='}'){scanf("%c",&tmp);if(tmp=='}') break;if(tmp<='z'&&tmp>='a'){flag[tmp-'a']++;}}int cnt=0;for(int i=0;i<26;i++) {if(flag[i]>0) cnt++;}printf("%d",cnt);
}

Sum of digits(数字运算与字符串处理

 这段代码实现的是计算一个数字字符串重复进行“数字和计算”的过程,直到得到一个单个数字为止。具体来说,它属于数字运算与字符串处理的题型。程序首先读入一个字符串s,该字符串只包含代表数字的字符。然后,通过不断将字符串中的每个字符转换为数字并求和,用求得的和替换原字符串,重复此过程,直到字符串长度为1,即得到一个单独的数字。期间,通过一个计数器result记录了这一系列操作的次数。因此,这是一个结合了字符串操作与基本数学运算的算法问题。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){char s[100000];scanf("%s",&s);int result;while(1){if(strlen(s)==1) break;int sum=0;for(int i=0;i<strlen(s);i++){sum+=s[i]-'0';}itoa(sum,s,10);//一定不要忘记!result++;}printf("%d",result);return 0;
}

题型统计

练习题名称数学计算与序列求和数值运算与字符串处理频率统计题
SUM Problem
A+B problem
Anton and letters
Sum of digits

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/17155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时隔1年,我终于弄懂了Java 中的 AOP操作

1. AOP概述 2. AOP快速入门 依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId><version>${spring-boot.version}</version></dependency> 示例:记…

如何使用 Re-Ranking 改进大模型 RAG 检索

基于大型语言模型&#xff08;LLMs&#xff09;的聊天机器人可以通过检索增强生成&#xff08;RAG&#xff09;提供外部知识来改进。 这种外部知识可以减少错误答案&#xff08;幻觉&#xff09;&#xff0c;并且使模型能够访问其训练数据中未包含的信息。 通过RAG&#xff0…

ciscn

ciscn Crypto部分复现 古典密码 先是埃特巴什密码&#xff08;这个需要进行多次测试&#xff09;&#xff0c;然后base64&#xff0c;再栅栏即可 答案&#xff1a;flag{b2bb0873-8cae-4977-a6de-0e298f0744c3} _hash 题目&#xff1a; #!/usr/bin/python2 # Python 2.7 (6…

Go程序出问题了?有pprof!

什么情况下会关注程序的问题&#xff1f; 一是没事儿的时候 二是真有问题的时候 哈哈哈&#xff0c;今天我们就来一起了解一下Go程序的排查工具&#xff0c;可以说即简单又优雅&#xff0c;它就是pprof。 在 Go 中&#xff0c;pprof 工具提供了一种强大而灵活的机制来分析 …

38、Flink 的窗口触发器(Triggers)详解

Triggers a&#xff09;概述 Trigger 决定了一个窗口&#xff08;由 window assigner 定义&#xff09;何时可以被 window function 处理&#xff1b;每个 WindowAssigner 都有一个默认的 Trigger&#xff0c;如果默认 trigger 无法满足需要&#xff0c;可以在 trigger(...) …

硬件工程师求职,笔试题交白卷,忍不了!

大家好&#xff0c;我是记得诚。 最近面试一位硬件工程师&#xff0c;笔试题直接交了白卷&#xff0c;我还是去面试了一下&#xff0c;会一会&#xff0c;看是何方神圣。 对方上来也是直接说明了一下&#xff0c;说工作有点久了&#xff0c;有些基础的知识忘记了&#xff0c;…

Pytorch深度学习实践笔记11(b站刘二大人)

&#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;pytorch深度学习 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xff1a;学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

WindowsCMD窗口配置OhMyPosh

WindowsCMD窗口配置OhMyPosh 文章目录 WindowsCMD窗口配置OhMyPosh1. 按装Clink1. 安装Oh-My-Posh2. 安装Clink2. 安装后的位置 2. 编写Lua脚本1. oh-my-posh Lua脚本2. 重启cmd窗口看效果 OhMyPosh对Windows CMD 没有现成的支持。 然而可以使用Clink来做到这一点&#xff0c;它…

虚拟化知识学习

虚拟化知识学习 关键概念和术语的简要介绍 虚拟化的基本概念 虚拟机 (VM)&#xff1a;一个虚拟机是一个模拟计算机系统的环境。它运行在物理硬件之上&#xff0c;但与物理硬件隔离&#xff0c;提供类似于物理计算机的功能。 虚拟化技术&#xff1a;这是指使用软件来创建虚拟版…

【Java reentrantlock源码解读】

今天学习一下Java中lock的实现方式aqs 直接上图这是lock方法的实现类、分为公平锁和非公平锁两种。 先看非公平的实现方法、很暴力有木有&#xff0c;上来直接CAS&#xff08;抢占锁的方法&#xff0c;是一个原子操作&#xff0c;没有学过的同学自行百度哦&#xff09;&#…

软件测试面试题(六)

一&#xff1a;质量的八大特性是什么&#xff1f;各种特性的定义&#xff1f; 功能性&#xff1a;软件所实现的功能达到它的设计规范和满足用户需求的程度 性能&#xff1a;在规定的条件下实现软件功能所需的响应时间和计算机资源&#xff08;CPU、内存、磁盘空间和吞吐量&…

MagicaCloth2中文文档

提示&#xff1a;经搬运者测试&#xff0c;在ecs1.0中运行最为良好 如何安装 英语日语 目录 [隐藏] 1 如何安装2 样本运行测试3 可以删除示例文件夹4 如何更新5 发生错误时该怎么办6 如何卸载7 如何检查版本 如何安装 MagicaCloth2 需要 Unity 2021.3.16 &#xff08;LTS&…

jQuery效果2

jQuery 一、属性操作1.内容2.列子&#xff0c;购物车模块-全选 二、内容文本值1.内容2.列子&#xff0c;增减商品和小记 三、元素操作(遍历&#xff0c;创建&#xff0c;删除&#xff0c;添加&#xff09;1.遍历2.例子&#xff0c;购物车模块&#xff0c;计算总件数和总额3.创建…

【简单介绍下线性回归模型】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

Habicht定理中有关子结式命题3.4.6的证明

个人认为红色区域有问题&#xff0c;因为 deg ⁡ ( ϕ ( S j ) ) r \deg{\left( \phi\left( S_{j} \right) \right) r} deg(ϕ(Sj​))r&#xff0c;当 i ≥ r i \geq r i≥r时&#xff0c; s u b r e s i ( ϕ ( S j 1 ) , ϕ ( S j ) ) subres_{i}\left( \phi(S_{j 1}),\p…

技术速递|使用 C# 集合表达式重构代码

作者&#xff1a;David Pine 排版&#xff1a;Alan Wang 本文是系列文章的第二篇&#xff0c;该系列文章涵盖了探索 C# 12功能的各种重构场景。在这篇文章中&#xff0c;我们将了解如何使用集合表达式重构代码&#xff0c;我们将学习集合初始化器、各种表达式用法、支持的集合目…

函数调用时长的关键点:揭秘参数位置的秘密

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、默认参数的秘密 示例代码 二、关键字参数与位置参数的舞蹈 示例代码 总结 一、默认参…

Linux下SuiteSparse的下载与编译

前言 SuiteSparse 是一个用于稀疏矩阵计算的开源库&#xff0c;它提供了一系列高效的算法和工具&#xff0c;用于解决线性代数和优化问题中的稀疏矩阵操作。 SuiteSparse Matrix Collection 是由 Tim Davis 创建和维护的一个稀疏矩阵集合&#xff0c;其中包含了各种各样的真实…

Java学习:电影查询简单系统

1.创建一个movice的对象来存放电影 里面设置构造器&#xff08;有参和无参&#xff09; package com.movie;public class movice {//创建一个movice的对象存放电影private int id;private String name;private double price;private double score;private String diector;pri…

PyCharm面板ctrl+鼠标滚轮放大缩小代码

1.【File】➡【Settings】 2.点击【Keymap】&#xff0c;在右边搜索框中搜incre&#xff0c;双击出现的【Increase Font Size】 3.在弹出的提示框中选择【Add Mouse Shortcut】 4.弹出下面的提示框后&#xff0c;键盘按住【ctrl】&#xff0c;并且上滑鼠标滚轮。然后点击【O…