首页 > 其他分享 >PAT Advanced 1005. Spell It Right

PAT Advanced 1005. Spell It Right

时间:2023-05-03 10:23:13浏览次数:41  
标签:digits Right PAT string sum Spell Limit const 1005

PAT Advanced 1005. Spell It Right

1. Problem Description:

Given a non-negative integer \(N\), your task is to compute the sum of all the digits of \(N\), and output every digit of the sum in English.

2. Input Specification:

Each input file contains one test case. Each case occupies one line which contains an \(N\) (\(≤10^{100}\)).

3. Output Specification:

For each test case, output in one line the digits of the sum in English words. There must be one space between two consecutive words, but no extra space at the end of a line.

4. Sample Input:

12345

5. Sample Output:

one five

6. Performance Limit:

Code Size Limit
16 KB
Time Limit
400 ms
Memory Limit
64 MB

思路:

按照题意编写即可,注意非负整数 \(N \le 10^{100}\),普通整数类型存不下,需要存为字符串类型。C++有了string类型就很舒服,计算每一位之和并按要求输出,这里还需要注意指向字符串常量的char指针数组digits需要加上const修饰,不然编译器会报警告。

My Code & Result:

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    string num;
    int sum=0;
    const char *digits [] = {"zero", "one", "two", "three", "four", "five",
                        "six", "seven", "eight", "nine"};
    
    cin >> num;
    
    for(const auto &w: num)
    {
        sum += w-'0';
    }

    string res = to_string(sum);

    for(unsigned int i=0; i<res.size(); ++i)
    {
        if(!i) printf("%s", digits[res[i]-'0']);
        else printf(" %s", digits[res[i]-'0']);
    }
    printf("\n");
    
    // cout << res << endl;

    return 0;
}
Compiler
C++ (g++)
Memory
440 / 65536 KB
Time
4 / 400 ms

标签:digits,Right,PAT,string,sum,Spell,Limit,const,1005
From: https://www.cnblogs.com/tacticKing/p/17368735.html

相关文章

  • 使用爬虫利器 Playwright,轻松爬取抖查查数据
    使用爬虫利器Playwright,轻松爬取抖查查数据我们先分析登录的接口,其中url有一些非业务参数:ts、he、sign、secret。然后根据这些参数作为关键词,定位到相关的js代码。最后,逐步进行代码的跟踪,发现大部分的代码被混淆加密了。花费了大半天,来还原这些混淆加密的代码,但是也没......
  • python+playwright 学习-59 grant_permissions 设置默认允许麦克风和摄像头等权限
    前言有些场景在使用的时候,会弹出一些权限框,比如麦克风和摄像头等,通过监听alert是没法捕获的。正确做法是给浏览器设置默认允许麦克风和摄像头等权限,不让弹窗出来。使用context的grant_permissions方法加权限。权限框弹窗示例这种弹窗是权限窗,不是alert解决办法context有个gr......
  • python+playwright 学习-58 Jenkins上使用 Pipeline 运行 playwright 自动化脚本
    前言Dockerfile.focal可用于在Docker环境中运行Playwright脚本。这些镜像包括在Docker容器中运行浏览器所需的所有依赖项,还包括浏览器本身。playwright在linux系统上目前只支持Ubuntu系统的部分版本,centos和debian系统上是没法运行的。jenkins环境准备需安装2个跟docke......
  • python+playwright 学习-57 svg 元素拖拽
    前言SVG英文全称为ScalablevectorGraphics,意思为可缩放的矢量图,这种元素比较特殊,需要通过name()函数来进行定位。本篇讲下关于svg元素的拖拽相关操作。拖拽svg元素如图所示,svg下的circle元素是可以拖动的比如往右拖动100个像素,那么cx的值由原来的cx="100"变成cx="200"通......
  • python+playwright 学习-56 svg 元素定位
    前言SVG英文全称为ScalablevectorGraphics,意思为可缩放的矢量图,这种元素比较特殊,需要通过name()函数来进行定位。svg元素定位如下看到的svg标签,就是svg元素用普通的标签定位,是无法定位的,如xpath的//svg只能通过name()函数来定位//*[name()="svg"]页面上用多个svg元素如果......
  • python+playwright 学习-55 在docker 容器中运行playwright脚本
    前言Dockerfile.focal可用于在Docker环境中运行Playwright脚本。这些镜像包括在Docker容器中运行浏览器所需的所有依赖项,还包括浏览器本身。playwright在linux系统上目前只支持Ubuntu系统的部分版本,centos和debian系统上是没法运行的。镜像查看所有可用的图像标签https:......
  • Playwright复杂定位
    select下拉框先定位到下拉框,然后通过select_option选择值#下拉框通过值单选page.get_by_label('a').select_option('x')#下拉框通过label单选page.get_by_label('a').select_option(label='p')#下拉框通过值多选page.get_by_label('a').select_option([......
  • Playwright基本定位
    css定位如在css定位为#kw的位置输入内容,如下写法均可:page.locator('#kw').fill("输入的内容")page.locator('css=#kw').fill("输入的内容")page.fill('#kw','输入的内容')#可以不写css=或xpath=,会自动判断是cssg还是xpath如在css定位为#su的位置点击,如下写法均可:......
  • 1005. K 次取反后最大化的数组和
    给你一个整数数组nums和一个整数k,按以下方法修改该数组:选择某个下标i并将nums[i]替换为-nums[i]。重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数组可能的最大和。输入:nums=[4,2,3],k=1输出:5解释:选择下标1,nums变为[4,......
  • 【0基础学爬虫】爬虫基础之自动化工具 Playwright 的使用
    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学爬虫】专栏,帮助小白快速入门爬虫,本期为自动化工具playwright的使用。概述......