• 马蹄集 oj赛(第十一次)


    目录

    除法2

    tax

    约数个数

    约数之和

    全部相同

    石头剪刀布

    模数

    余数之和

    数树

    除法


    除法2


    黄金时间限制:1秒占用内存: 128 M难度:
    给定n,求 ”i*[n/],[] 表示对  取下整
    格式
    一个正整数n。输入格式:
    输出格式:一个数表示答案
    样例1
    输入:4
    输出:15
     

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. #define int long long
    7. int n,ans;
    8. signed main(){
    9. cin >>n;
    10. for (int l = 1,r;l <= n;l =r+1) {
    11. r = n / (n / l);
    12. ans += (r - l + 1) * (n / l) * (l + r) / 2;
    13. }
    14. cout <
    15. return 0;
    16. }

    tax


    难度:钻石四占用内存:128M时间限制: 1秒
    小码哥要交税,交的税钱是收入 n 的最大因子(该最大因子为不等于  的最大因子),但是现在小码哥为了避税,把钱拆成几份(每份至少为2),使交税最少,输出税钱。
    格式
    输入格式:一个正整数n表示所有的钱数
    输出格式:输出一个正整数,表示税钱。
    样例1
    输入:4
    输出:2

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. int n;
    7. bool prime(int num) {
    8. for (int i = 2; i * i <= num; i++) {
    9. if (num % i == 0)
    10. return false;
    11. }
    12. return true;
    13. }
    14. int main(){
    15. cin >>n;
    16. if (prime(n))
    17. cout <<1;
    18. else if (n%2 == 0)
    19. cout <<2;
    20. else if(prime(n-2))
    21. cout <<2;
    22. else
    23. cout <<3;
    24. return 0;
    25. }

    约数个数


    难度: 黄金时间限制: 1秒四占用内存:128M
    给出给定正整数n,求n的约数个数
    格式
    输入格式:一个整数n。
    输出格式:输出一行一个整数表示答案
    样例1
    输入:12
    输出:6

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. //int main(){
    7. // int n;
    8. // cin >>n;
    9. // int ans =0;
    10. // for (int i = 1;i*i<=n;i++) {
    11. // if (n % 1 == 0)
    12. // ans += 2;
    13. // if (i * i == n)
    14. // ans--;
    15. // }
    16. // cout << ans;
    17. // return 0;
    18. // }
    19. int main(){
    20. int n;
    21. cin >>n;
    22. int ans = 1;
    23. for (int i=2;i*i<=n;i++){
    24. int tmp =0;
    25. while(n % i == 0)
    26. tmp++,n /= i;
    27. ans *= (tmp+1);
    28. }
    29. if(n!=1)
    30. ans *= 2;
    31. cout <
    32. return 0;
    33. }

    约数之和


    难度:黄金时间限制: 1秒四占用内存:128M
    给出给定正整数n,求n的约数之和。
    格式
    输入格式:一个整数n。
    输出格式:输出一行一个整数表示答案。
    样例1
    输入:12
    输出:28

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. int main(){
    7. int n;
    8. cin >>n;
    9. int ans = 1;
    10. for (int i=2;i*i<=n;i++){
    11. int tmp = i;
    12. while (n %i==0)
    13. tmp *=i,n /=i;
    14. ans*=(tmp-1)/(i-1);
    15. }
    16. if(n!=1)
    17. ans*=(n+1);
    18. cout << ans;
    19. return 0;
    20. }

    全部相同


    难度:黄金时间限制: 1秒四占用内存:128M
    小码哥有一个 n 个整数组成的数组 a1,a2,...,an 。小码哥可以任取一个正整数 k 进行下面的操作:从数列中取一个数 ai,将它的值减去  。小码哥进行了若次(可能是次)上面的操作后,数列中所有的数都相等了。请你找到 k 可能的最大值。
    格式
    输入格式:多组输入,第一行包含一个整数 t(1 输出格式:对于每组输入输出一行 的最大值 (如果 可以任意大,输出-1)。

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. int t,n,a[47];
    7. int gcd(int a,int b){return b ==0 ? a : gcd(b,a%b);}
    8. int main(){
    9. cin >>t;
    10. while (t--) {
    11. cin >> n;
    12. for (int i = 0; i < n; i++)
    13. cin >> a[i];
    14. // void std::sort(_RAIter,_RAIter)
    15. sort(a, a + n);
    16. for (int i = 1; i < n; i++)
    17. a[i] -= a[0];
    18. if (a[n - 1] == 0) {
    19. cout << -1 << endl;
    20. break;
    21. }
    22. int ans = gcd(a[1], a[2]);
    23. for (int i = 3; i < n; i++)
    24. ans = gcd(ans, a[i]);
    25. cout << ans << endl;
    26. }
    27. return 0;
    28. }

    石头剪刀布


    难度:黄金时间限制:1秒占用内存: 128 M
    每个人都会按照一个周期出石头,剪刀有两个人在玩石头剪刀布游戏: R-石头 P-布 S-剪刀,双方各输了多少次。或布。 周期肯定在1099以内 (包括109)问玩 n 把后,
    格式
    输入格式: 输入第一行一个n (1 第3行为第二个人的周期规律.
    输出格式:输出共2个数:第一个人输的次数和第二个人输的次数
    样1
    输入:7
     

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. int n,loseS,loseT;
    7. string s,t;
    8. int gcd(int a,int b){return b ==0 ? a : gcd(b,a % b);}
    9. int lcm(int a,int b){return a * b/gcd(a,b);}
    10. void iswin(int a,int b){
    11. if (s[a]=='R'&&t[b]=='S')
    12. loseT++;
    13. if(s[a]=='S'&&t[b]=='R')
    14. loseS++;
    15. if(s[a]=='S'&&t[b]=='P')
    16. loseT++;
    17. if(s[a]== 'P'&&t[b]=='S')
    18. loseS++;
    19. if (s[a]=='P'&&t[b]=='R')
    20. loseT++;
    21. if (s[a]=='R'&&t[b]=='P')
    22. loseS++;
    23. }
    24. int main() {
    25. cin >> n >> s >> t;
    26. int lens = s.length(), lent = t.length();
    27. int cycle = lcm(lens, lent);
    28. for (int i = 0; i < cycle; i++)
    29. iswin(i % lens, i % lent);
    30. loseS *= n / cycle, loseT *= n / cycle;
    31. for (int i = 0; i < n % cycle;i++)
    32. iswin(i % lens, i % lent);
    33. cout << loseS<<' ' << loseT <
    34. return 0;
    35. }

    模数


    难度:黄金时间限制: 1秒巴占用内存:128M
    现在小码哥给定两个整数 a,b,问有多少个 2 ,使得满足等式a mod a =b,如果存在无限个,就输出“infinity”,否则输出满足条件2的个数。
    格式
    输入格式:两个数a,
    输出格式:输出个数或“infinity”
    样例1
    输入:21 5
    输出:2

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. int a,b,ans;
    7. int main() {
    8. cin >> a >> b;
    9. if (a == b) {
    10. cout << "infinity" << endl;
    11. return 0;
    12. }
    13. if (a < b) {
    14. cout << 0 << endl;
    15. return 0;
    16. }
    17. a -= b;
    18. for (int i = 1; i * i <= a; i++) {
    19. if (a % i == 0) {
    20. if (i > b)
    21. ans++;
    22. if (a / i > b && a / i != i)
    23. ans++;
    24. }
    25. }
    26. cout << ans << endl;
    27. return 0;
    28. }

    余数之和


    难度:黄金时间限制: 1秒四占用内存:128M
    你上次很轻松的解决了小码哥的问题,这让小码哥觉得很没面子,于是他又想了一个更加复杂的问题来考你。
    小码哥给你两个正整数n和f,计算judge(n,f)=f % 1+ f % 2+ f %3 + .. + f %n的值,其中f % i表示f除以i的余数。
    格式
    输入格式:输入仅一行,包含两个正整数 nf
    输出格式: 输出仅一行,即 judge(n,f)

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. #define int long long
    7. int n,f,ans,temp;
    8. signed main(){
    9. cin >>n >>f;
    10. if (n>f){
    11. temp = (n - f)* f;
    12. n = f;
    13. }
    14. for(int l=1,r;l<=n;l=r+1){
    15. r=min(f/(f/l),n);//这里其实蕴含了n
    16. ans+=(r-l+1)*(f/l)*(l+r)/2;
    17. }
    18. cout <
    19. return 0;
    20. }

    数树


    难度:黄金时间限制: 1秒四占用内存:128 M
    在卡兹戴尔有一片很奇怪的森林,在一个直角坐标系内的(a,)坐标值都为自然数的坐标上都有颗树,如果一棵树的坐标 (a,) 与原点(0,0) 的连线中没有通过其他任何树,则称该树在原点处是可见的。
    例如,树 (4.2)就是不可见的,因为它与原点的连线会通过树 (21)。部分可见点与原点的连线如下图所示,如图是一个 4 x 4 的树林

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. int c,n;
    7. int gcd(int a,int b){return b ==0 ? a :gcd(b,a % b);}
    8. int main(){
    9. cin >>c;
    10. for (int i=1;i<=c;i++){
    11. cin >>n;
    12. int ans =0;
    13. for (int j=1;j <= n;j++)
    14. for(int k=1;k<=n;k++)
    15. if(gcd(j,k)== 1)
    16. ans++;
    17. cout <" "<" "<2 <
    18. }
    19. return 0;
    20. }

    除法


    难度:黄金时间限制:1秒占用内存: 28 M
    给定几,求”in/i, 2表示对 a 取下整
    格式
    输入格式:一个正整数n。
    输出格式:一个数表示答案
    样例 1
    输入:4
    输出:8

    1. //
    2. // Created by abner on 2023/9/13.
    3. //
    4. #include
    5. using namespace std;
    6. #define int long long
    7. int n,ans;
    8. signed main(){
    9. cin >>n;
    10. for (int l=1,r;l <= n;l=r+1) {
    11. r = n / (n / l);
    12. ans += (r - l + 1) * (n / l);
    13. }
    14. cout <
    15. return 0;
    16. }

     如果 ChatGPT 停机或正在维护,可能会出现多个错误、故障或漏洞,包括请求过多。所以,去检查服务器状态是否正常。只需访问页面 并查看 OpenAI 的状态。绿色条表示状态是完全可操作的。如果您看到红色、橙色或浅绿色线条,则说明发生了中断,您只需等待 ChatGPT 团队修复即可。

  • 相关阅读:
    弘辽科技:淘宝店铺信用等级怎么看?信用等级怎么提升?
    XXE漏洞以及XXE漏洞如何修复
    python实用函数
    校园网页设计成品 学校班级网页制作模板 dreamweaver网页作业 简单网页课程成品 大学生静态HTML网页源码
    Java#28(集合进阶1---单列集合)
    MySql密码增强策略
    Linux 学习笔记之常用命令(一)
    linux的Java运行
    小迪笔记(1)——操作系统&文件下载&反弹SHELL&防火墙绕过
    按月统计数据——mysql实现
  • 原文地址:https://blog.csdn.net/m0_62574889/article/details/132840637