| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1107 人关注过本帖
标题:C++小智找余数,求帮助!
只看楼主 加入收藏
Jason_
Rank: 2
来 自:浙江台州
等 级:论坛游民
帖 子:88
专家分:66
注 册:2019-7-14
结帖率:66.67%
收藏
 问题点数:0 回复次数:2 
C++小智找余数,求帮助!
【问题描述】

小智喜欢研究奇奇怪怪的问题。对于区间 [l,r] ,小智想找出 l≤i<j≤r,且 i,j 为整数使得 (i∗j) mod 2022 的值最小。

【输入格式】

两个整数 l,r ,表示区间的左右端点。

【输出格式】

输出 (i∗j) mod 2022 的最小值。

【输入样例 1】

2023 2040
【输出样例 1】

2
【输入样例 2】

4 5
【输出样例 2】

20
【数据规模与约定】

对于 40% 的数据: 0≤l<r≤1000
对于 100% 的数据: 0≤l<r≤2∗109
搜索更多相关主题的帖子: 输入 数据 输出 整数 C++ 
2022-01-16 20:12
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:0 
回复 楼主 Jason_
程序代码:
#include <stdio.h>
int main()
{
    int l, r, i, j, tmp, min;
    scanf("%d%d", &l, &r);
    if (l >= r || l < 0)
    {
        printf("error\n");
        return 1;
    }
    if (r - l >= (r % 2022))
    {
        printf("0\n");
        return 0;
    }
    l %= 2022;
    r %= 2022;
    min = 2021;
    for (i=l; i<r; i++)
    {
        for (j=i+1; j<=r; j++)
        {
            tmp = (i*j) % 2022;
            if (tmp < min)
            {
                min = tmp;
            }
        }
    }
    printf("%d\n", min);
    return 0;
}


[此贴子已经被作者于2022-1-17 13:26编辑过]

2022-01-17 11:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 2楼 diycai
如果输入 2021 2023 的话,应该输出 0 吧

我猜判断条件应该是 if( L%2022==0 || L/2022!=R/2022 )
收到的鲜花
  • diycai2022-01-17 13:12 送鲜花  1朵  
2022-01-17 12:55
快速回复:C++小智找余数,求帮助!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020925 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved