PAT 乙级 1016. 部分A+B (C语言版)
2016-08-06 22:10
465 查看
部分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
时间限制
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
#include <stdio.h> #include <math.h> int caculateNewNumber(int a,int b); int main(){ int A,Da,B,Db; scanf("%d%d%d%d",&A,&Da,&B,&Db); int PA = caculateNewNumber(A,Da); int PB = caculateNewNumber(B,Db); printf("%d",PA+PB); return 0; } int caculateNewNumber(int a,int b){ int cnt = 0; while(a > 0){ //这样写b可以=0, int p = a % 10;p % b == 0 这样不行. if(a % 10 == b){ cnt++; } a = a / 10; } int result = 0; for(int i=0;i<cnt;i++){ result = result + b * (pow(10,i)); } return result; };
相关文章推荐
- 1016. 部分A+B (15) PAT 乙级
- PAT乙级 1016. 部分A+B (15)
- [PAT-乙级]1016.部分A+B
- PAT乙级1016 部分A+B
- 1016. 部分A+B (15)-PAT乙级真题
- PAT乙级 1016. 部分A+B
- PAT 乙级练习题1016. 部分A+B (15)
- PAT乙级-1016 部分A+B(水题)
- 【PAT】(乙级)1016. 部分A+B (15)
- PAT乙级 1016. 部分A+B
- 乙级 PAT 1016. 部分A+B (15)
- PAT乙级1016. 部分A+B (15)
- 浙江大学PAT乙级试题.1016. 部分A+B (15)C语言
- 1016. 部分A+B (15)--PAT乙级
- PAT乙级(Basic Level)真题-1016. 部分A+B (15)
- PAT训练(乙级)—— 1016. 部分A+B (15)
- PAT乙级题解(1016. 部分A+B)
- PAT 乙级 1016. 部分A+B (15)
- pat乙级1016. 部分A+B (15)
- PAT乙级 1016. 部分A+B (15) C语言实现