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;
    }


  • 相关阅读:
    Android屏幕适配
    设计模式学习心得
    C语言中的作用域、链接属性与存储属性
    二级指针删除单向链表
    C++编程风格
    python中index、slice与slice assignment用法
    lua_pcall与lua_call之间的区别
    lua-C++ userdata使用
    lua中调用C++函数
    C++中为什么有时要使用extern "C"
  • 原文地址:https://www.cnblogs.com/fayne/p/7224813.html
Copyright © 2011-2022 走看看