码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【ACM】简单题(4)


    杭电1061  Problem - 1061 (hdu.edu.cn)

    求N^N的最后一位,硬算估计够呛。。。

    输入特点:第一个数n为测试组数,紧跟着 n 个数。

    很显然,直接看个位数就可以

    比如个位为  0  1 5 6   肯定是 保持不变的 等等,看代码:

    1. #include <iostream>
    2. using namespace std;
    3. int main()
    4. {
    5. int n,x,t;
    6. cin>>n;
    7. while(n--)
    8. {
    9. cin>>x;
    10. t=x%10;
    11. if(t==0||t==1||t==5||t==6)
    12. cout<<t<<endl;
    13. else if(t==2)//2 4 8 6 肯定偶数次 4 6
    14. {
    15. if(x%4==0) cout<<6<<endl;
    16. else cout<<4<<endl;
    17. }
    18. else if(t==3)//3 9 7 1 肯定奇数次 3 7
    19. {
    20. if(x%4==1) cout<<3<<endl;
    21. else cout<<7<<endl;
    22. }
    23. else if(t==4)//4 6 肯定偶数次 6
    24. {
    25. cout<<6<<endl;
    26. }
    27. else if(t==7)//7 9 3 1 肯定奇数次 7 3
    28. {
    29. if(x%4==1) cout<<7<<endl;
    30. else cout<<3<<endl;
    31. }
    32. else if(t==8)//8 4 2 6 肯定偶数次 4 6
    33. {
    34. if(x%4==0) cout<<6<<endl;
    35. else cout<<4<<endl;
    36. }
    37. else if(t==9)//9 1 肯定奇数次 9
    38. {
    39. cout<<9<<endl;
    40. }
    41. }
    42. return 0;
    43. }

    杭电2035: Problem - 2035 (hdu.edu.cn)

     求A^B的最后三位,硬算也是不可能的,所以想办法:每次留最后三位即可!

    1. #include <iostream>
    2. using namespace std;
    3. int main()
    4. {
    5. int a,b,i,y;
    6. while(cin>>a>>b &&(a!=0 || b!=0))
    7. {
    8. y=1;
    9. for(i=1;i<=b;i++)
    10. {
    11. y*=a;
    12. y%=1000;
    13. }
    14. cout<<y<<endl;
    15. }
    16. return 0;
    17. }

    杭电1425:Problem - 1425 (hdu.edu.cn)

    这道题有雷!

    首先不能排序,数字太多,用HASH,不懂的可以想象成映射:定义一个大数组,清零,来一个数则将该数(需要注意数组越界)做下标的元素标记成1,这样避免排序。反向遍历数组即可。

    雷在C++的cin输入,一直显示超时:

    1. #include<stdio.h>
    2. #include<iostream>
    3. #include<string.h>
    4. using namespace std;
    5. int a[1000000];
    6. int main()
    7. {
    8. int n,m,k;
    9. while(scanf("%d%d",&n,&m)!=EOF)
    10. {
    11. memset(a,0,sizeof(a));//将数组所用数赋为0
    12. for(int i=0;i<n;i++)
    13. {
    14. scanf("%d",&k);
    15. a[k+500000]=1;//记录输入的数
    16. }
    17. for(int j=1000000;m>0;j--)
    18. {
    19. if(a[j]==1)
    20. {
    21. if(m==1)
    22. cout<<j-500000<<endl;
    23. else
    24. cout<<j-500000<<" ";
    25. m--;
    26. }
    27. }
    28. }
    29. return 0;
    30. }

     换成:while(cin>>n>>m)  或者把k的输入换成  cin>>k; 都被判超时。这个有点费解!

    另外,数组的定义放外面(全局数组),栈(局部数组)里可能分配不了这样大的空间。 

    杭电1005  Problem - 1005 (hdu.edu.cn) 

     求:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.

    取余运算的分解。

    硬算也会TL ,n太大了,得找规律

    以 49 做循环

    1. #include<iostream>
    2. using namespace std;
    3. int main()
    4. {
    5. int a,b,n,i,f1,f2,f3;
    6. while(cin>>a>>b>>n &&(a!=0 || b!=0 || n!=0))
    7. {
    8. f1=f2=1;
    9. n%=49;
    10. for(i=3;i<=n;i++)
    11. {
    12. f3=(a*f2+b*f1)%7;
    13. f1=f2;
    14. f2=f3;
    15. }
    16. if(n==1 || n==2) cout<<1<<endl;
    17. else cout<<f3<<endl;
    18. }
    19. return 0;
    20. }

    n %= 49 是关键,这也是类似 N^N 那道题,深点说是《抽象代数》里面的东西。

  • 相关阅读:
    Docker已存在的容器,怎么(添加新端口号·图文详解)
    基于快速增量式视觉感知的类脑SLAM
    0day是什么,有哪些有影响力的0day漏洞
    什么是金丝雀发布(Canary release)?
    还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠
    搭建Redis哨兵集群
    聊一聊我对Restful理解
    Java8使用stream分组和排序的实现
    JAVA计算机毕业设计制药企业人力资源管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
    Python爬虫实战(基础篇)—14获取【巴黎圣母院新闻网(Notre Dame News)】新闻写入Word(附完整代码)
  • 原文地址:https://blog.csdn.net/yixiaobo2001/article/details/127664373
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号