题目描述
现有n个整数,将其中个位数为k的数进行累加求和。
输入格式
第一行两个整数n、k,以空格分隔。( 0 < n < 1000, 0 ≤ k ≤ 9) 第二行n个非负整数,以空格分隔,每个数不大于100000。
输出格式
输出满足题目要求的累加和。
样例
样例输入
10 7
2 5 7 17 11 18 4 27 1 7
样例输出
58
参考如下代码:
#include <iostream>
using namespace std;
int main()
{
int n, k, sum=0, i;
cin >>n>>k;
for(i=0;i<n;i++){
int a;
cin >> a;
if(a%10==k)
sum += a;
}
cout << sum;
return 0;
}
int getSignalNum(int num,int signalnum)
{
int startNum=num; //记录初始值 num的值取余会被更改
int sub=0;
while(num)
{
sub=num%10;
num/=10;
break;
}
if(sub==signalnum)
{
return startNum;
}
else
{
return 0;
}
}
int main()
{
int numCount,num,k;
vector<int> res;
cout<<"please input numberCount And SignalNum:";
cin>>numCount>>k;
cout<<"please input number:";
for(int i=0;i<numCount;++i)
{
cin>>num;
res.push_back(num);
}
int Count=0;
for(int i=0;i<res.size();++i)
{
Count+=getSignalNum(res[i],k);
}
cout<<"Count = "<<Count<<endl;
return 0;
}
结果:
求余10,结果为7的数累加
#include <iostream>
using namespace std;
int main()
{
int i,n,m,k,sum=0;
cin>>n>>m;
for(i=0;i<n;i++)
{
cin>>k;
if(k%10 == m)
sum += k;
}
cout<<sum;
return 0;
}