----day5----

小小 2023-03-08 10:06:49

1.数的分解

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

把 20192019 分解成 33 个各不相同的正整数之和,并且要求每个正整数都不包含数字 22 和 44,一共有多少种不同的分解方法?

注意交换 33 个整数的顺序被视为同一种方法,例如 1000+1001+181000+1001+18 和 1001+1000+181001+1000+18 被视为同一种。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
    #include <stdio.h>
    #include <stdlib.h>
    
    int check(int a){
      while(a){
        if( a%10 == 2 || a%10 == 4 ) return 0;
        a /= 10;
      }
      return 1;
    }
    
    int main()
    {
      int sum = 0;
      for(int i = 1; i <= 673; i++){
        for(int j = i+1; j <= 2019; j++){
          int k = 2019 - i - j;
          if(check(i) && check(j) && check(k)){
            if(j < k) sum++;
          }
        }
      }
      printf("%d", sum);
      return 0;
    }

     

2.猜生日

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

今年的植树节(20122012 年 33 月 1212 日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”

“把我出生的年月日连起来拼成一个 88 位数(月、日不足两位前补 00)正好可以被今天的年、月、日整除!”

他想了想,又补充到:“再给个提示,我是 66 月出生的。”

根据这些信息,请你帮小明算一下,他叔叔的出生年月日。

格式是年月日连成的 88 位数。例如,如果是 19481948 年 66 月 1212 日,就写:1948061219480612。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      int d, y, ans = 0;
      for(y = 1900; y < 2012; y++){
        for(d = 1; d < 31; d++){
          ans = y*10000 + 600 + d;
          if(ans%2012 == 0 && ans%3 == 0 && ans%12 == 0){
            printf("%d", ans);
          }
        }
      }
      return 0;
    }

     

     

...全文
23 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,724

社区成员

发帖
与我相关
我的任务
社区描述
和众多高校算法内卷分子,一起学习和交流算法那。浓郁的算法交流氛围,拒绝躺平,有效内卷。加入我们,私信我拉你入核心内卷群。
算法数据结构leetcode 个人社区
社区管理员
  • 执 梗
  • Dream-Y.ocean
  • ღCauchyོꦿ࿐
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

 刷题!

试试用AI创作助手写篇文章吧