zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practise (中文) 1016. 部分A+B (15)

    1016. 部分A+B (15)

    时间限制
    100 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

    正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。

    现给定A、DA、B、DB,请编写程序计算PA + PB

    输入格式:

    输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010

    输出格式:

    在一行中输出PA + PB的值。

    输入样例1:
    3862767 6 13530293 3
    
    输出样例1:
    399
    
    输入样例2:
    3862767 1 13530293 8
    
    输出样例2:
    0
    
    
    解题思路:
      ·此题的关键在于如何计算新整数Pa,Pb,因为A和B范围太大,所以用字符串储存
      ·使用临时变量temp更新其结果,遍历字符串,如遍历字符串A时,与Pa比较,如果相同即更新temp的值,遍历完毕即Pa的值
    
    
     
    #include <iostream>
    #include <string>
    using namespace std;
    
    int solve(string a, int x)//函数用于计算Pa和Pb的值 
    {
    	int temp = 0;
    	for ( int i = 0; i<a.length(); i++ )
    	{
    		if ( a[i]-'0' == x )//因为a为字符串, 比较时应将其转换为数字进行比较 
    		{
    			temp = x + temp*10;//条件成立更新temp的值 
    		}
    	}
    	return temp;
    }
    
    int main()
    {
    	string A, B;
    	int Da, Db, Pa, Pb;
    	cin >> A >> Da >> B >> Db;
    	Pa = solve(A, Da);
    	Pb = solve(B, Db);
    	cout << Pa + Pb << endl;
    	
    	return 0;
    }


  • 相关阅读:
    [AHOI 2005]COMMON 约数研究
    [AHOI 2016初中组]迷宫
    [HNOI 2002]营业额统计
    [HAOI 2012]音量调节
    [HAOI 2010]软件安装
    [NOI 2015]荷马史诗
    浏览器同源政策
    docker 进程 转载:https://www.cnblogs.com/ilinuxer/p/6188303.html
    docker 进程 转载:
    redis 缓存问题,转载:https://www.cnblogs.com/liangsonghua/p/www_liangsonghua_me_22.html
  • 原文地址:https://www.cnblogs.com/fayne/p/7224813.html
Copyright © 2011-2022 走看看