题目描述:给一个范围 [ low, high),要求找到这个范围内的所有质数,在比较这些质数十位数之和与个位数之和的较小值,输出最小值。
测试用例:
输入:151 160
输出:8
因为151-159只有151和157两个质数,十位数之和是5+5 =10,个位数之和是1+7等于8,输出比较小的,所以是8。
附个人代码:
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
bool isPrime(int num)
{
int tmp=num-1;
for(int i=2;i<=tmp;i++)
{
if(num%i==0)
return 0;
}
return 1;
}
int main()
{
int low,high,i,sum_g=0,sum_s=0;
cin>>low>>high;
vector<int> primes;
for(i=low;i<high;i++)
{
if(isPrime(i))
{
primes.push_back(i);
sum_s+=(i/10%10);
sum_g+=(i%10);
}
}
if(sum_g<sum_s)
{
cout<<sum_g<<endl;
}
else
{
cout<<sum_s<<endl;
}
return 0;
}