#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
bool su(int a){// 判断是否为素数
if (a<2) {
return false;
}
for(int i=2;i<=sqrt(a);i++){// 有等号
if(a%i==0){
return false;
}
}
return true;
}
int main(){
int m;
int n;
int sum;
int flag,temp;
while(scanf("%d %d",&m,&n)!=EOF){
flag=1;//一开始都认为是素数
if (m==0&&n==0) {
break;
}
else {
if(m>n){
temp=m;
m=n;
n=temp;
}
for(int i=m;i<=n;i++){
sum=i*i+i+41;
if (su(sum)==false) {
flag=0;
break;
}
}
if (flag==1) {
printf("OK\n");
}
else{
printf("Sorry\n");
}
}
}
return 0;
}
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
bool su(int a){// 判断是否为素数
if (a<2) {
return false;
}
for(int i=2;i<=sqrt(a);i++){// 有等号
if(a%i==0){
return false;
}
}
return true;
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int left=1;
for (int i=1; i<n; i++) {
left=(left+1)*2;
}
printf("%d\n",left);
}
return 0;
}
偶数求和
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
bool su(int a){// 判断是否为素数
if (a<2) {
return false;
}
for(int i=2;i<=sqrt(a);i++){// 有等号
if(a%i==0){
return false;
}
}
return true;
}
int main(){
int n,m;
int count;
int sum;
while(scanf("%d %d",&n,&m)!=EOF){
count=0;
sum=0;
for (int i=2; i<=2*n; i+=2) {
count++;
sum+=i;
if((count<m)&&(i==2*n)||count==m){
printf("%d",sum/count);
if (i!=2*n) {
printf(" ");
}
sum=0;
count=0;
}
}
printf("\n");
}
return 0;
}
数据交换输出
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
int main(){
int n;
int temp;
while(scanf("%d",&n)!=EOF){
if (n==0) {
break;
}
int a[n+1];
int b[n+1];// 两个数组,一个来找最小的标杆,一个来交换。
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
b[i]=a[i];
}
sort(a, a+n);//找a的最小值
for(int i=0;i<n;i++){
if (b[i]==a[0]) {
temp=b[i];
b[i]=b[0];
b[0]=temp;
}
}
for (int i=0; i<n; i++) {//输出格式
printf("%d",b[i]);
if (i!=n-1) {
printf(" ");
}
}
printf("\n");
}
return 0;
}
字符串统计
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
bool su(int a){// 判断是否为素数
if (a<2) {
return false;
}
for(int i=2;i<=sqrt(a);i++){// 有等号
if(a%i==0){
return false;
}
}
return true;
}
int main(){
int n;
int count;
char s[1000];
scanf("%d",&n);
while(n--){
count=0;
scanf("%s",s);// 字符串不取地址
for (int i=0; s[i]!='\0'; i++) {
if (s[i]>='0'&&s[i]<='9') {
count++;
}
}
printf("%d\n",count);
}
return 0;
}
母牛的故事 递归数列找规律
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
int main(){
int n;
int a[61]={0,1,2,3,4,0};
while(scanf("%d",&n)!=EOF) {
if(n==0) break;
for (int i=5; i<=n; i++) {
a[i]=a[i-1]+a[i-3];
}
printf("%d\n",a[n]);
}
return 0;
}
数组有序
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
int main(){
int n,m;
int a[1005];
while(scanf("%d %d",&n,&m)!=EOF){
if (n==0&&m==0) {
break;
}
for (int i=0; i<n; i++) {
scanf("%d",&a[i]);
}
a[n]=m;
sort(a, a+n+1);
for (int i=0; i<n; i++) {
printf("%d ",a[i]);
}
printf("%d\n",a[n]);
}
return 0;
}
绝对值排序
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
bool cmp(int a,int b){
return abs(a)>abs(b);
}
int main(){
int n;
int a[1005];
while(scanf("%d",&n)!=EOF){
if (n==0) {
break;
}
for (int i=0; i<n; i++) {
scanf("%d",&a[i]);
}
sort(a, a+n, cmp);
for (int i=0; i<n-1; i++) {
printf("%d ",a[i]);
}
printf("%d\n",a[n-1]);
}
return 0;
}
发工资了
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
bool cmp(int a,int b){
return abs(a)>abs(b);
}
int main(){
int n;//laoshi renshu
int a[6]={100,50,10,5,2,1};
int count;
int qian[1000];
while(scanf("%d",&n)!=EOF){
count=0;
if(n==0)
break;
for (int i=0; i<n; i++) {
scanf("%d",&qian[i]);
for (int j=0; j<6; j++) {
count+=qian[i]/a[j]; !!!!!
qian[i]%=a[j]; !!!!!!!
}
}
printf("%d\n",count);
}
return 0;
}
海选女主角
不是先放到一个数组里,而是边输入,边比较大小!!!!!
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
int main(){
int n,m;
int x;
int hang=1,lie=1;
while (scanf("%d %d",&m,&n)!=EOF&&m&&n) {
int min=0;
for (int i=1; i<=m; i++) {
for (int j=1; j<=n; j++) {
scanf("%d",&x);
if(abs(min)<abs(x)){
min=x;
hang=i;
lie=j;
}
}
}
printf("%d %d %d\n",hang,lie,min);
}
return 0;
}