首页 > 其他分享 >建民打卡日记5.11

建民打卡日记5.11

时间:2023-05-11 09:11:05浏览次数:41  
标签:++ max a1 length 5.11 字符串 打卡 建民 a2

一、问题描述

 

上图是新浪微博上的一则趣闻,是瑞典斯德哥尔摩火车上的一道题,看上去是段伪代码: s = '' a = '1112031584' for (i = 1; i < length(a); i++) { if (a[i] % 2 == a[i-1] % 2) { s += max(a[i], a[i-1]) } } goto_url('www.multisoft.se/' + s) 其中字符串的 + 操作是连接两个字符串的意思。所以这道题其实是让大家访问网站 www.multisoft.se/112358(注意:比赛中千万不要访问这个网址!!!)。 当然,能通过上述算法得到 112358 的原始字符串 a 是不唯一的。本题就请你判断,两个给定的原始字符串,能否通过上述算法得到相同的输出?

 

二、流程设计

对两个字符串分别采用上述斯德哥尔摩火车上的算法进行处理。如果两个结果是一样的,则在一行中输出那个结果;否则分别输出各自对应的处理结果,每个占一行。

三、代码实现

#include<iostream>
#include<string>
using namespace std;
char max(char a1,char a2){
    if(a1>a2)
        return a1;
    else
        return a2;
}
int main(){
    string s1,s2,a1,a2;
    cin>>a1;
    cin>>a2;
    for (int i = 1; i < a1.length(); i++) {
       if (a1[i] % 2 == a1[i-1] % 2) {
        s1 += max(a1[i], a1[i-1]);
    }
    }
    for (int i = 1; i < a2.length(); i++) {
       if (a2[i] % 2 == a2[i-1] % 2) {
        s2 += max(a2[i], a2[i-1]);
    }
    }
    if(s1==s2)
        cout<<s1;
    else
        cout<<s1<<endl<<s2;
}

 

标签:++,max,a1,length,5.11,字符串,打卡,建民,a2
From: https://www.cnblogs.com/cor0000/p/17378270.html

相关文章

  • 编程打卡:C++语言程序设计
    //Node.h#ifndefNODE_H#defineNODE_H//类模板的定义template<classT>classNode{private: Node<T>*next; //指向后继结点的指针public: Tdata; //数据域 Node(constT&data,Node<T>*next=0);//构造函数 voidinsertAfter(Node<T>*p); //......
  • 第十三天打卡
    以平面图形类Plane为基类公有派生三角形类Triangle,main(void)函数完成对其的测试。题目:#include<iostream>#include<cmath>usingnamespacestd;//点类PointclassPoint{private:doublex;doubley;public:Point(doublexv=0,doubleyv=0);/*构造函数*/......
  • 2023.5.10编程一小时打卡
    一、问题描述:给出下面的人员基类框架:classPerson{protected:stringname;intage;public:Person();Person(stringp_name,intp_age);voiddisplay(){cout<<name<<“:”<<age<<endl;}};建立一个派生类student,增加以下成员数据:in......
  • 5.10打卡
      三、程序流程图 四、代码实现#include<bits/stdc++.h>#defineN10usingnamespacestd;main(){inti,a[N]={-3,4,7,9,13,45,67,89,100,180},low=0,high=N-1,mid,k=-1,m;printf("aÊý×éÖеÄÊý¾ÝÈçÏÂ:\n");for(i=0;i<N;i++)p......
  • c++打卡训练
    自守数(半成品,指没写出来,双倍给明天)流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ longinti,m; intj,n,k,a=1; for(i=0;i<=100000;i++){ n=i; m=i*i; for(j=0;n=0;j++){ n/=10; for(k=j;k>=0;k--){ a=a+a*10; if(m%a==i){ printf......
  • 每日打卡-20.1
    一.问题描述编写程序提示用户输入一个班级中的学生人数n,再依次提示用户输入n个人在课程A中的考试成绩,然后计算出平均成绩,显示出来。请使用本书第9章中的数组类模板Array定义浮点型数组存储考试成绩。二.设计思路按照题目要求编写代码三.流程图四.伪代码 1五.代码......
  • 每日打卡-20.2
    一.问题描述初始化int类型数组datal[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20},应用本章的直接插入排序函数模板进行排序。对此函数模板稍做修改,加入输出语句,在每插入一个待排序元素后显示整个数组,观察排序过程中数据的变化,加深对插入排序算法的理解。二.设计思路三.流程图四.......
  • 5-10打卡 练习
    typedefstructlist{ intdata; list*next;}list;list*initlist(){ list*a=newlist; a->data=0; a->next=NULL; returna;}voidpushback(list**h,intn){list*a=newlist;a->data=n;a->next=NULL;list*......
  • 每日打卡
    回文数问题描述:回文数指形如abcba类的数,求小于n<256的回文数问题分析:看千位权重与十位相同需要用循环写出个位t与十位i代码:#include<stdio.h> intmain() {            intm[16],n,i,t,count=0;            longunsigneda,k;      ......
  • 5月10日打卡
    例4-11题目描述:设计一个结构体存储学生的成绩信息,需要包括学号年级和成绩三项内容,学号的范围是0到99999999,年级分为freshman、sophomore、junior、、senior四种,成绩包括A、S、C、D四个等级。分析:1.学号包括27个二进制位有效信息,而年级、成绩各包括2个二进制位有效信息,采用......