列表

详情


NC16717. 求解位数和

描述

给出一个数x,求x的所有位数的和。

输入描述

第1行输入组数T,代表有T组数据。
第2-T+1行,每行输入一个数x。
输入数据保证:0≤x≤10400

输出描述

每行输出对应行的数的位数和。

示例1

输入:

2
111111111111111111111111111111111111
222222222222222222222222222222222222

输出:

36
72

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(g++ 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 400K, 提交时间: 2022-12-04 19:29:21

#include <bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        int s=0;
        string a;
        cin>>a;
        for(int i=0;i<a.size();i++){
            s+=a[i]-'0';
        }
        cout<<s<<endl;
    }
}

C++(clang++11) 解法, 执行用时: 3ms, 内存消耗: 376K, 提交时间: 2021-03-31 17:55:22

#include <bits/stdc++.h>
using namespace std;

int main() {
    int t;
	cin>>t;
	while(t--){
		string s;
		cin>>s;
		int sum=0;
		for(auto c:s)	sum+=c-'0';
		cout<<sum<<endl;	
	}
	return 0;	
}




Python3 解法, 执行用时: 41ms, 内存消耗: 4540K, 提交时间: 2023-02-21 23:06:51

x = int(input())
list_num = [input() for i in range(x)]
for i in list_num:
    count = 0
    for j in i:
        count += int(j)
    print(count)

pypy3 解法, 执行用时: 47ms, 内存消耗: 18880K, 提交时间: 2021-07-17 16:55:43

for _ in range(int(input())):
    s = input()
    ans = 0
    for i in s:
        ans+=int(i)
    print(ans)

上一题