好久没刷题了(阿里测试题)
发布日期:2021-06-29 11:11:53
浏览次数:3
分类:技术文章
本文共 2305 字,大约阅读时间需要 7 分钟。
我大哥给我做的,今天终于有时间做了,因为没有测试数据所以就不知道是否正确,所以希望各位路过大神指教 思路 类似杨辉三角形,因此竖着列出来,然后打表把各种值求出最后找就可以了。
打表代码#include/*输出的i为每块最后一行的标号的个数(没错) sum为这个块字幕的个数。 */ int main(){ int i, sum = 0,n=1; for(i = 1; n<=9; i++){ sum += i; n++; }//i=10 printf("i = %d sum = %d\n", i-1 ,sum); for(i = i+1; n <= 99; ){ sum += i; i+=2; n++; } // printf("i = %d sum = %d\n", i-2 ,sum); for(i = i+1; n <= 999; ){ sum += i; i+=3; n++; } printf("i = %d sum = %d\n", i-3 ,sum); for(i = i+1; n <= 9999; ){ sum += i; i+=4; n++; } printf("i = %d sum = %d\n", i-4 ,sum); return 0;}
#includeint dukuai(int k);//判断这个标号位于哪个大块中 int dubiaohao(int kuai, int k);int main(){ int k,m,kuai; while(scanf("%d",&k)!=NULL){ kuai = dukuai(k); printf("%d\n",kuai); m = dubiaohao(kuai,k); printf("%d\n",m); } return 0;}/*i表示这行的总标号数sum表示从第一行开始到该行最后一个标号的总标号数 sum-i-2表示第一行开始到上一行最后一个标号的总标号数 */int dubiaohao(int kuai, int k){ int sum,i,biaohao; if(kuai == 1){ sum = 0; for(i = 1; ; i++){ //从第一行遍历起,当小于该行最后一个数的标号时则表示位于该行。 sum += i; if(k<=sum){ biaohao = k-(sum-i); break; } } }else if(kuai == 2){ sum = 45; //第9行有9个标号 for(i = 11; ; i+=2){ //从第10行遍历起,当小于该行最后一个数的标号时则表示位于该行。 sum += i; if(k<=sum){ biaohao = k-(sum-i); break; } } }else if(kuai == 3){ sum = 9045; //第99行有190个标号 for(i = 192; ; i+=3){ //从第100行遍历起,当小于该行最后一个数的标号时则表示位于该行。 sum += i; if(k<=sum){ biaohao = k-(sum-i); break; } } }else if(kuai == 4){ sum = 1395495; //第999行有2892个标号 for(i = 2893; ; i+=4){ //从第1000行遍历起,当小于该行最后一个数的标号时则表示位于该行。 sum += i; if(k<=sum){ biaohao = k-(sum-i); break; } } } return biaohao; }int dukuai(int k){ if(k<=45){ //1到9 k = 1; }else if(k<=9045){ //10到99 k = 2; }else if(k<=1395495){ //100到999 k = 3; }else { //1000到9999 k = 4; } return k;}
转载地址:https://blog.csdn.net/zw1996/article/details/78012988 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月23日 15时16分45秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于CH568芯片的SATA电子盘方案
2019-04-29
linux下C语言判断网络是否连接
2019-04-29
STM32Cube_FW_F4_V1.17 F4固件包百度网盘下载
2019-04-29
猿来绘Java-35-线程的同步(生产者和消费者问题)
2019-04-29
猿来绘Java-36-解决线程安全问题
2019-04-29
猿来绘Java-37-ReentrantLock解决线程安全问题
2019-04-29
猿来绘Java-38-生产者消费者模型
2019-04-29
猿来绘Java-39-JDK8的新日期时间类
2019-04-29
猿来绘Java-40-比较器(Comparable 接口与 CompareTo方法)
2019-04-29
猿来绘Java-41-源码分析String对象的数组的排序(JDK1.8)
2019-04-29
猿来绘Java-42-枚举类的使用
2019-04-29
猿来绘Java-43-初步认识注解
2019-04-29
猿来绘Java-44-自定义注解和元注解
2019-04-29
猿来绘Java-45-JDK8新特性可重复注解和类型注解
2019-04-29
猿来绘Java-46-Collection接口及其方法
2019-04-29
猿来绘Java-47- foreatch 增强for循环
2019-04-29
2021/4/27课堂总结和作业
2019-04-29
2021.4.28课堂总结和作业
2019-04-29
2021.4.29课堂总结
2019-04-29
2021.4.30课堂总结和作业
2019-04-29