正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。
现给定A、DA、B、DB,请编写程序计算PA + PB。
标签:problem return 空格 printf mit 超时 submit title 正整数
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。
现给定A、DA、B、DB,请编写程序计算PA + PB。
3862767 6 13530293 3
3862767 1 13530293 8
399 0
参考代码:
#include<stdio.h>
#include<cmath>
int main(){
int a,c,b,d;
int ret1=0,ret2=0;
int cnt=0,n=0;
scanf("%d %d %d %d",&a,&c,&b,&d);
while(a!=0){
if(a%10==c){
cnt++;
ret1+=pow(10,cnt-1)*c;
}
a=a/10;
}
while(b!=0){
if(b%10==d){
n++;
ret2+=pow(10,n-1)*d;
}
b=b/10;
}
printf("%d\n",ret1+ret2);
return 0;
}
取出每一位数后直接处理,不要保存到数组再遍历,这样会超时因为最大值为10^10
标签:problem return 空格 printf mit 超时 submit title 正整数
原文地址:http://www.cnblogs.com/zhhjthing/p/7818526.html