ABC083 B - Some Sums
問題はこちら atcoder.jp
方針
to_string
を使ってみたかったので複雑になっています。
digit_sum+=i_str[j]-'0'
の-'0'
については,こちらを参考にしました。ASCIIコードでは文字'0'
が48
に対応しているらしいです。
コード
#include <bits/stdc++.h> using namespace std; int main(){ int n,a,b; cin>>n>>a>>b; int sum_total=0; int digit_sum=0; string i_str; for(int i=1; i<=n; i++){ digit_sum=0; i_str=to_string(i); for(int j=0; j<i_str.size(); j++){ digit_sum+=i_str[j]-'0'; } if(a<=digit_sum && digit_sum<=b){ sum_total+=i; } } cout<<sum_total<<endl; }