首页 > 其他分享 >7.20日周记

7.20日周记

时间:2024-07-20 21:51:46浏览次数:20  
标签:int 周记 7.20 兔子 else flag 乌龟 sign

周内收获
一.统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。

裁判测试程序样例:

include <stdio.h>

include <math.h>

int IsTheNumber ( const int N );

int main()
{
int n1, n2, i, cnt;

scanf("%d %d", &n1, &n2);
cnt = 0;
for ( i=n1; i<=n2; i++ ) {
    if ( IsTheNumber(i) )
        cnt++;
}
printf("cnt = %d\n", cnt);

return 0;

}

/* 你的代码将被嵌在这里 /
思路说明:1. N为完全平方数的证明条件即为将N开根号,并将其定义为int型,如果N为其平方乘积,则N为完全平方数;
2.判断N中是否有至少有两个数相同的证明条件:当例子为三位数时,利用数学知识求得每个位的数字,并以此判断是否存在两个数相同;当例子是四位数时,百位数数字不能通过三位数数字求法求得,故重新计算并覆盖,最终判断N中是否至少有两个数字相同。
源程序:int IsTheNumber(const int N){
int flag=0;
int a,b,c,d;
int m=sqrt(N);
a=N/100;//百位数
b=(N%100)/10;//十位数
c=N%10;//个位数
d=N/1000;//千位数
if(d0&&a!=0){
if(a
b||bc||ac) flag=1;
else
flag=0;
if(N!=m
m) flag=0;
}
else if(d!=0){
a=(N%1000)/100;
if(ab||bc||ac||ad||bd||cd) flag=1;
else
flag=0;
if(N!=mm) flag=0;
}
else if(N<=0) flag=0;
return flag;
}
然而,这种数学思想只能针对一部分的例子,不能解决所有问题,而且编码冗长麻烦
不如采取编程思想
int IsTheNumber(const int N){
int a[10]={0};
int n=N,l;
int m=sqrt(N);
if(N==m
m){
while(n){
l=n%10;
a[l]++;
n=n/10;}
for(int i=0;i<10;i++)
if(a[i]>1)return 1;
}
return 0;
}
这样代码不仅简洁了很多,还能适用于更多的情况。
二.龟兔赛跑
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

输入格式:
输入在一行中给出比赛时间T(分钟)。

输出格式:
在一行中输出比赛的结果:乌龟赢输出@@,兔子赢输出_,平局则输出--;后跟1空格,再输出胜利者跑完的距离。
源代码:#include
using namespace std;
int main(){
int T;
int a1=0,a2=0;//a1兔子跑过的距离,a2乌龟跑过的距离
int sign=0;//sign可以表示兔子的状态(sign=0兔子在奔跑,不等于0就在休息)
cin>>T;
for(int i=1;i<=T;i++){
a2=a2+3;//要实时比较
if(sign0){
a1=a1+9;
}
else{
sign=sign-1;
}
if(i%10
0&&sign0){
if(a1>a2){sign=30;}
}
}
if(a1>a2){cout<<"_ "<<a1;}
else if(a2>a1){cout<<"@_@ "<<a2;}
else if(a1
a2){cout<<"-_- "<<a1;}
}
写后感想:本题一定要注意兔子回头看时,要实时比较乌龟走的距离,而不是单纯地算乌龟走的总距离。但是我栽坑的地方在于兔子走的距离的计算,这也应该实时计算,单纯靠数学计算反而会更复杂。充分利用sign来判断兔子的状态(奔跑还是休息)和for循环,才能更好地解决题目。
三.C++巩固
1.if(条件){执行代码}
else{}//不满足if执行什么
2.if(条件){执行代码}
else if(条件){执行代码}
else if(条件){执行代码}//多条件
3.类和对象的定义及简单应用
a.重载函数中编译根据参数表进行选择
c.不要使用重载函数来描述毫无相干的函数
d.构造函数重载将会给初始化带来多种方式
e.重载函数中允许使用默认参数
f.对定义重载函数的下列要求中,要求参数的个数不同,要求参数中至少有一个类型不同,要求参数个数相同时,参数类型不同。但不要求返回值不同
下周目标
学习java编程,理解java中基础的编程思想。
继续C语言和C++的学习。

标签:int,周记,7.20,兔子,else,flag,乌龟,sign
From: https://www.cnblogs.com/1222carnivore/p/18313868

相关文章

  • 7.20 模拟赛
    总结今天暴力打的还可以,但除了暴力全挂了。t1方法一数位dp还是不够熟悉;方法二容斥,虽然想题的时候有往容斥的方面思考,但是只差一步的时候放弃了。t2\(a+b<c\)的trick第一次见,想清楚之后就很好写。t3高维前缀和,反复学反复忘的东西。t4败笔,冲了2.5h没写出来,tarjan+......
  • AI周报(7.14-7.20)
    AI应用-本届欧洲杯的AI技术应用    卢卡库在两场比赛中共有三次庆祝进球的情况,但遗憾的是这三次庆祝均未能转化为有效的进球。这种“吐饼王”的表现也让他成为了本届欧洲杯的一个另类焦点人物。虽然稍显悲情,但有了AI的深度应用,即使这样极端的情况也少了很多判罚不公的......
  • 2024.7.20 模拟赛总结
    T1lcdStatement:给定\(n(1\len\le10^8)\),问有多少对\((i,j)(1\lei,j\len)\)满足\(\frac{xy}{\gcd(x,y)^2}\le3\)。Solution:简单题。令\(x'=\frac{x}{\gcd(x,y)},y'=\frac{y}{\gcd(x,y)}\),枚举\((x',y')\)并计算即可......
  • 暑假第三周总结(7.15-7.20)
    这周做了什么继续学习JAVA,做出了城堡游戏点击查看代码//RoompackagecastleV3;importjava.util.HashMap;publicclassRoom{ privateStringdescription;privateHashMap<String,Room>exits=newHashMap<String,Room>();publicRoom(String......
  • 【闲话】07.20.24
    0719闲话头图:今日推歌:《剰えfeat.鸣花ヒメ》rinri僕らを人と呼ぶのなら如若要将我们冠以人类之名剰え日々を課すなら在此之上还要背负起生活的话不揃いが故の僕らを那希望你能够愛して欲しいのさ爱着不完美的我们是rinri一贯的空灵感,无机质的声线勾勒出来的却......
  • 7.20鲜花——献给挂帅出征NOI的5位巨佬的作别之书
    今天,NOIday2在cqyc落下帷幕截至撰稿,获奖情况笔者并不清楚但是,我希望你们不要去高三了,真的qwq但是,除了艾希之外,NOI2024可能是你们最后一战了(如果排除CTS和IOI)由于艾希不是正式选手,而且是高一的,在此不提我在六月中旬停课进入410,其实除了省选成绩与竞赛宣讲我好像对你们不甚了......
  • 24.7.20
    嗯,今天又提升了一些对于二次元的喜爱所以想写点东西大概就是在刷抖音的时候刷到了很多二次元,真的很喜欢他们那种对二次元的热情,中二的样子真的很可爱,我也真的很像成为其中的一员,但是现在毕竟才初三嘛,家庭也属于那种比较封建一点的那种,管的比较严(安监控),不支持通讯录,并且虽然他们......
  • 7.20周五总结
    上午vjcon3补题vj3优先队列维护贪心取一个数的各位只需要a/100%10,a/10%10,a%10;去重bool(intn){set<int>st;for(intj=0;j<n;j++){st.insert(a[i][j]);}if(st.size()!=n)return1;return0;}中位数(思维)#i......
  • 7.20解决hive无法删除和修改的问题
    参考文献:hiveupdate和delete报错Attempttodoupdateordeleteusingtransactionmanager-CSDN博客 首先说明,hive数据库一般是增和查询用得比较多,不建议频繁的去修改删除,有悖hive数据库的初衷。废话不多说,开始配置,首先找到你的hive-site.xml的路径 一般来说是在hive的......
  • 程序员自由创业周记#35:外包、技术选型和卖房
    对待外包的态度外包是来钱最快的方式,通过出售自己的时间和技能换取报酬,一定程度上与上班类似。创业后一直在做自己的产品,从习惯打卡软件:加一,到灵动岛软件:IslandWidgets,然后Mac休息提醒软件:Nap,到现在正在开发AI作图软件:AI画图王。做自己的产品最开心的就是自由,设计、交互、功能......