首页 > 其他分享 >第六周

第六周

时间:2023-07-29 20:56:05浏览次数:29  
标签:cout int cin else 第六周 sh &&

所以发生浮点错误应该考虑程序中:

  • 是否可能出现了一个数除以0的情况
  • 是否可能出现了一个数取余0的情况
  • 是否发生了数据溢出而导致的除以0或者取余0的情况

l1-95

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n0,n1,n,a=1,b=1,x=0;
cin>>n0>>n1>>n;
for(int i=1;i<n;i++)
{
float m1=abs(n0/i-n1/(n-i));
float m2=abs(n0/a-n1/b);
if(n0>i&&n1>(n-i)&&(n0%i==0)&&(n1%(n-i)==0)&&m1<=m2)
{
a=i;
b=n-i;
x=1;
}
}

if(x==0)
{
cout<<"No Solution";
}
else
{
cout<<a<<" "<<b;
}
return 0;
}

//测试点4

//本题测试点不包括男女任何一方得0,测试不到。

l1-46

模拟除法

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

输入格式:
输入在一行中给出一个不以5结尾的正奇数x(<1000)。

输出格式:
在一行中输出相应的最小的s和n,其间以1个空格分隔。

输入样例:31
输出样例:3584229390681 15
解:

最开始就是按照不断末尾加1的思路做的,果然有两个test超时了,然后,就没有然后了。上网看了看解答才知道可以不用一直加1,也不需要用 unsigned long long 来存这个“光棍”。思路就是模拟手算除法的过程,从最高位开始计算结果,如下边我画的示意图所示,先算出3,发现余数不为0,那就在余数末尾加1当除数,再算出7,发现余数为0了,除法计算就结束了。

 

思路知道了,代码就很好写了,重点还是这个思路,不是这道题,我都快忘了手算除法是怎么算了。。

#include <stdio.h>

int main() {
int x = 0, s = 0, n = 0; // 定义除数,被除数,位数
scanf("%d", &x);
while (s < x) {
s = s * 10 + 1; // 被除数末位添1, 直到不小于被除数
++n; // 位数增1
}
while (1) { // 开始进行除法运算
printf("%d", s / x); // 输出商, 从最高位一直输出到个位,因为最后一定能整除
s %= x; // 被除数更新为余数
if (s == 0) break; // 余数为0则结束
s = s * 10 + 1; // 余数末位添1
++n; // 位数增1
}
printf(" %d\n", n);
return 0;
}

#include<cmath>

整形取绝对值abs()

浮点型取绝对值fabs()

 

l1-049

#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n+1],b[n+1];
for(int i=1;i<=n;i++)
{
cin>>a[i];
b[i]=a[i];
}
int tmp=0;
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++)
{
if(b[i]>b[j])
{
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
}
}
for(int i=1;i<=n;i++)
{
cout<<"#"<<i<<endl;
int num=i,k=0,x=0;
for(int j=1;j<=n;j++)
{
while(1)
{

if(x<b[j]*10&&a[i]>=b[j])
{
x++;
if(x%10!=0)
{
cout<<num<<" ";
}
else if(x%10==0)
{
cout<<num<<endl;
}
if((n-k)>1)
{
num+=(n-k);
}
else if((n-k)==1)
{
num+=2;
}
}
else{
k++;
break;
}
}
}
}
return 0;
}

//不道哪错了

//pta,没品的东西

 l1-043

#include <iostream>
#include <cmath>
#include <memory.h>
using namespace std;

int main()
{
int n;
cin>>n;
int k=0;//记录0的数量
int flag[1010]={0};//为1表示已借阅
int time[1010]={0};//书号时间桶
int cs=0;//借书次数
double totle=0;//总时长
int sh;//书号
char jz;//键值
char c;//代替冒号
int h,m;//小时,分钟
while(k<n)
{
cin>>sh>>jz>>h>>c>>m;
if(sh==0)//结束一天
{
int num;
if(cs!=0)
{
num=(int)(totle/cs+0.5);
cout<<cs<<' '<<num<<endl;
}
else//考虑分母为0的情况
cout<<cs<<' '<<0<<endl;
k++;
memset(flag,0,sizeof(flag));//全部置0
memset(time,0,sizeof(time));
cs=0;
totle=0;
}
else if(jz=='S')//注意这里不用flag[sh]==0,因为以最后一次借阅为准
{
time[sh]=h*60+m;
flag[sh]=1;
}
else if(jz=='E'&&flag[sh]==1)
{
flag[sh]=0;//保证一天多次借同一本书,所以归还后置0
totle=totle+h*60+m-time[sh];
cs++;
}
}
return 0;
}

 

l1-64

#include<iostream>
#include<string>
using namespace std;
string s;
int check(const char *str,int i,int n){
if((i==0||s[i-1]>'z' || (s[i-1]<'a' && s[i-1]!='I')) && ((i+n)>=s.length()||s[i+n]>'z' || (s[i+n]<'a' && s[i+n]!='I')))
return 1;
return 0;
}//判断字符串是否独立
int main(){
int t,i;
cin>>t;
cin.get();
while(t--){
s.clear();
getline(cin,s);
cout<<s<<'\n';
for(i=0;i<s.length();i++){
if(s.at(i)>='A'&&s.at(i)<='Z'&&s.at(i)!='I')
s.at(i)+=32;
if(s.at(i)=='?')
s.at(i)='!';
if(i>0&&s.at(i-1)==' '){
if((s.at(i)>='a'&&s.at(i)<='z')||s.at(i)=='I'||((s.at(i)>='0'&&s.at(i)<='9')))
continue;
s.erase(i-1,1);
i--;
}//将非字母,数字前的空格删除
}
if(s.at(0)==' ')
s.erase(0,1); //如果第一个字符为空格,删除它
if(s.length()!=0&&s.at(s.length()-1)==' ')
s.erase(s.length()-1,1); //如果最后一个字符为空格,删除它
for(i=0;i<s.length();i++){
if(s.at(i)=='I'){
if(check("I",i,1))
s.replace(i,1,"you") ;
i+=3;
}
else if(s.substr(i,2)=="me"){
if(check("me",i,2))
s.replace(i,2,"you") ;
i+=3;
}
else if(s.substr(i,7)=="can you"){
if(check("can you",i,7))
s.replace(i,7,"I can") ;
i+=5;
}
else if(s.substr(i,9)=="could you"){
if(check("could you",i,9))
s.replace(i,9,"I could") ;
i+=7;
}
}
cout<<"AI: "<<s<<endl;
}
return 0;
}

标签:cout,int,cin,else,第六周,sh,&&
From: https://www.cnblogs.com/ztydebeishanglaojia/p/17575345.html

相关文章

  • 暑期第六周总结
    本周,我花在学习上的时间大概为15小时,花在代码上的时间大概为12小时。花在解决问题上的时间大概为3小时。本周,我学习了函数的基础定义语法,并针对基础定义做了小小的练习,我了解了函数的传参,还有函数的返回值,并了解了函数的嵌套使用等等。这周我并没有遇到什么问题,学习python,要不放弃......
  • 省选计划(第六周)
    知识回顾巩固:Lucas,网络流,二分图深入研究:背包DP,树形DP,区间DP,状压DP。简单了解/没学明白:博弈论,插头DP练题Workingroutine读完题后以为矩阵可以相邻,费了一个小时去写...(可恶直接暴力交换复杂度是\(O(nmq)\),无法接受,考虑链表。对于每个点i,定义\(right_i\)为i的......
  • 第六周
    packagetest;1、使用for循环计算1-100的和,除了以3结尾的那些数importjava.util.Scanner;publicclassacc{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintsum=0;for(inti=1;i<=100;i++){......
  • 第六周总结
    本次我基本完成了地铁查询系统的web端内容,但成品仍有很多瑕疵,只满足了最基本的内容功能,设计代码如下:defget_station_info(station_name):  sql="SELECT*FROMstationsWHEREname='%s'"%station_name  result=execute_sql(sql)  iflen(result)==0: ......
  • 第六周总结
    今天写了第二个自测题,其中遇到了错误拦截的问题,对结构流程还是不够熟练publicbooleanInsert(studentstu){booleanf=false;Connectionconnection=DBUtil.getConnection();PreparedStatementpreparedStatement=null;try{Stringsql="insertintostudent(id,name,......
  • N74第六周作业
    1.完成将server和client端的mysql配置默认字符集为utf8mb4设置服务器默认的字符集vim/etc/my.cnf[mysqld]character-set-server=utf8mb4设置MySQL客户端默认的字符集vim/etc/my.cnf#针对MySQL客户端[mysql]default-character-set=utf8mb4#针对所有MySQL客户端[client]......
  • N74第六周作业
    1.完成将server和client端的mysql配置默认字符集为utf8mb4设置服务器默认的字符集vim/etc/my.cnf[mysqld]character-set-server=utf8mb4设置MySQL客户端默认的字符集vim/etc/my.cnf#针对MySQL客户端[mysql]default-character-set=utf8mb4#针对所有MySQL客户端[client]......
  • 云原生第六周--k8s组件详解(下)
    一Velero结合minio实现kubernetesetcd数据备份与恢复Velero简介:Velero是vmware开源的一个云原生的灾难恢复和迁移工具,它本身也是开源的,采用Go语言编写,可以安全的备份、恢复和迁移Kubernetes集群资源数据Velero支持标准的K8S集群,既可以是私有云平台也可以是公有云,除了灾备......
  • 第六周--冒泡排序
    题目描述读入N个整数,利用冒泡排序法对这些数排序,输出排序后的N个数,两个数之间用空格间隔。这里排序指的是升序。输入格式两行,第一行一个正整数N,表示待排序的数的个数。第二行为N个整数。输出格式一行,排序后的N个数。输入输出样例输入 542451输出 124......
  • 第六周-电子商务网站
    defcount107(i):#自定义统计函数j=i[['fullURL']][i['fullURLId'].str.contains('107')].copy()#找出类别包含107的网址j['type']=None#添加空列j['type'][j['fullURL'].str.contains('info/.+?/......