1092 最好吃的月饼 (20 分)
#include<iostream>
using namespace std;
int main(){
int N , M , num[1005] = { 0 } , a , MAXN = -1;
bool flag = true;
scanf("%d %d" , &N , &M);
for(int i = 1 ; i <= M ; i ++){
for(int j = 1 ; j <= N ; j ++){
scanf("%d" , &a);
num[j] += a;
}
}
//找最大值//
for(int i = 1 ; i <= N ; i ++){
if(num[i] >= MAXN){
MAXN = num[i];
}
}
printf("%d\n" , MAXN);
//输出序号//
for(int i = 1 ; i <= N ; i ++){
if(num[i] == MAXN){
if(flag == true){
printf("%d" , i);
flag = false;
}
else
printf(" %d" , i);
}
}
return 0;
}
1094 谷歌的招聘 (20 分)
注意要点:
1.stringstream的用法:这个是将字符串转换成int要求类型的数据。
2.substr():切分函数,在string.h下,负责切分string。
#include<iostream>
#include<sstream>//字符流//
#include<math.h>
#include<string.h>
using namespace std;
bool is_prime(long long ll){
if(ll == 1 || ll == 0)
return false;
for(long long i = 2 ; i < sqrt(ll) ; i ++){
if(ll % i == 0){
return false;
}
}
return true;
}
int main(){
int L , K;
string s;
scanf("%d %d" , &L , &K);
getchar();
cin >> s;
for(int i = 0 ; i + K <= s.length() ; i ++){//注意这个地方是等于的,是因为第一个数据也会占位,但是0因为数值上没有占位,但是整体需要占位//
string sb = s.substr(i , K);//截取每一段的长度//
stringstream ss;//整个流程按照C的顺序解决问题//
long long res;
ss << sb;//将截取的数据sb传入给stringstream//
ss >> res; //stringstream传给res数据//
if(is_prime(res) == true){
cout << sb;
return 0;
}
}
cout << "404";
return 0;
}