LQ0034 相乘水题
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0034 相乘水题相关的知识,希望对你有一定的参考价值。
题目来源: 2021年蓝桥杯省赛 C++ C组E题
题目描述
小蓝发现,他将 1 至 1000000007 之间的不同的数与 2021 相乘后再求除以 1000000007 的余数,会得到不同的数。
小蓝想知道,能不能在 1 至 1000000007 之间找到一个数,与 2021 相乘后 再除以 1000000007 后的余数为 999999999。
如果存在,请在答案中提交这个数; 如果不存在,请在答案中提交 0。
问题分析
这是一个填空题。
做一个离线程序来计算结果,该程序运行结果是17812964。需要注意的是,计算过程可能产生溢出,要用long long类型来进行计算。
离线C语言程序如下:
/* LQ0034 相乘 */
#include <stdio.h>
#define MOD 1000000007
int main()
int ans = 0;
for (long long i = 1; i <= MOD; i++)
if (i * 2021 % MOD == 999999999)
ans = i;
break;
printf("%d\\n", ans);
return 0;
AC的C语言程序如下:
/* LQ0034 相乘 */
#include <stdio.h>
int main()
printf("17812964\\n");
return 0;
以上是关于LQ0034 相乘水题的主要内容,如果未能解决你的问题,请参考以下文章