第五周第五天

91

#include <stdio.h>

#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void regulation(char temp\[\],int len,int rule) {

int m=0,n=0,i;

for(i=0;i<len;i++) {

if(tempi=='W') {

m++;

} else if(tempi=='L'){

n++;

}

if((m>=rule||n>=rule)&&(m-n>=2||n-m>=2)) {

printf("%d:%d\n",m,n);

m=0;

n=0;

}

}

if(m!=0||n!=0)

printf("%d:%d\n",m,n);

}

int main(int argc, char *argv\[\]) {

char temp300;

int i;

while(scanf("%c",&temp0)!=EOF) {

i=1;

while(1) {

scanf("%c",&tempi);

if(tempi=='E') {

break;

}

++i;

}

regulation(temp,i+1,11);

printf("\n");

regulation(temp,i+1,21);

printf("\n");

}

return 0;

}

92

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

typedef struct{

int flaga30;

int flagb30;

}flags;

int main(/* int argc, char *argv\[\] */) {

char s130,s230,len1,len2,i;

flags flag;

int temp;

while(gets(s1) != NULL){

gets(s2);

len1=strlen(s1);

len2=strlen(s2);

//初始化

for(i=0;i<27;i++){

flag.flagai=flag.flagbi=0;

}

//将字符数组s1,s2分别转换成对应数字,给a,b数组对应数字下标的数据标记

for(i=0;i<len1;i++){

//temp=s1i-'`';

temp = s1i - 'a'+1;

flag.flagatemp=1;

}

for(i=0;i<len2;i++){

temp=s2i-'`';

flag.flagbtemp=1;

}

printf("in s1 or s2:");

for(i=1;i<27;i++){

if(flag.flagai==1||flag.flagbi==1)

printf("%c",i+96);

}

printf("\n");

printf("in s1 and s2:");

for(i=1;i<27;i++){

if(flag.flagai==1&&flag.flagbi==1)

printf("%c",i+96);

}

printf("\n");

printf("in s1 but not in s2 ,or in s2 but not in s1:");

for(i=1;i<27;i++){

if((flag.flagai==1&&flag.flagbi!=1)||(flag.flagai!=1&&flag.flagbi==1))

printf("%c",i+96);

}

printf("\n");

printf("not in s1 and s2:");

for(i=1;i<27;i++){

if(flag.flagai==0&&flag.flagbi==0)

printf("%c",i+96);

}

printf("\n\n");

}

return 0;

}

93

#include <stdio.h>

#include <string.h>

// 最小表示法:返回最小循环串的起始下标(0-based)

int minimal_notation(const char *s, int n) {

int i = 0, j = 1, k = 0;

while (i < n && j < n && k < n) {

char a = s(i + k) % n;

char b = s(j + k) % n;

if (a == b) {

k++;

} else {

if (a > b) {

i += k + 1;

} else {

j += k + 1;

}

if (i == j) {

j++; // 避免指针重合

}

k = 0;

}

}

return i < j ? i : j;

}

int main() {

int L;

if (scanf("%d", &L) != 1) return 1;

getchar(); // 读取换行符

static char s200000; // 开大一倍,避免越界

int len = 0;

char c;

while ((c = getchar()) != EOF) {

if (c == '\n' || c == '\r') continue; // 忽略换行符

if (len < L) {

slen++ = c;

}

if (len == L) break;

}

slen = '\0';

int start = minimal_notation(s, L);

printf("%d\n", start); // 题目要求从1开始计数,所以+1

return 0;

}

计算机科学的目标包括找到更好地教育人们使用现有计算机的方法,以及对几十年内可能不可行的技术和方法进行高度推测性的研究。所有这些具体目标的基础是希望通过改进信息的使用来改善当今和未来的人类状况。

计算机科学是理论、工程和实验的结合。在某些情况下,计算机科学家开发一种理论,然后根据该理论设计计算机硬件和软件的组合,并对其进行实验测试。这种理论驱动方法的一个例子是开发新的软件工程工具,然后在实际使用中进行评估。在其他情况下,实验可能会产生新的理论,例如发现人工神经网络表现出与大脑中神经元相似的行为,从而产生神经生理学的新理论。

似乎计算机的其他可预测性使得实验变得不必要,因为实验结果应该提前知道。但是,当计算机系统及其与自然世界的交互变得足够复杂时,可能会导致不可预见的行为。因此,实验和传统的科学方法是计算机科学的关键部分。

相关推荐
烬羽11 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法
闪电悠米11 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
星空露珠12 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
QXWZ_IA14 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel14 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构
陕西企来客14 小时前
2026年7月技术好GEO优化方案:算法适配与内容策略
人工智能·算法·机器学习·技术好geo优化
风栖柳白杨14 小时前
【面试】AI算法工程师_空白自测版本
人工智能·算法·面试
闪电悠米16 小时前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
栋***t16 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
wabs66616 小时前
关于图论【卡码网100.最大岛屿的面积的思考】
数据结构·算法·图论