[P1980] 级数求和

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define lu unsigned long long
#define str(a,b) sprintf(a,"%llu",b)
int main(){
	lu n,x,t,rk=0;
	char*d;
	scanf("%llu %llu",&n,&x);
	lu cc(char a,lu b);
	for(t=1;t<=n;t++){
     rk+=cc(x+48,t);
     //printf("t=%lu,rk(n)=%lu\n",t,cc(x+48,t));
    }
    printf("%llu",rk);
}
lu cc(char a,lu b){
	char* tostr(lu a);
	lu t=0,rk=0;
	char*ttt=tostr(b);
	for(t=0;t<=strlen(ttt);t++){
     if(t[ttt]==a)
     rk++;
    }
    free((void*)ttt);
    return rk;
}
char* tostr(lu a){
	char *ss=(char*)malloc(sizeof(char)*a);
	str(ss,a);
	return ss;
}

建议O2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值