蓝桥杯官网填空题(寻找整数)

问题描述

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

有一个不超过 10^17 的正整数 n,知道这个数除以 2 至 49 后的余数如下表所示,求这个正整数最小是多少。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 512M

思路:

a mod 间隔 n

2 1 2 3、5、7、9、11、13、15、17、19、21、23···

3 2 6 5、8、11、14、17、20、23、26、29、32···

4 1 12 5、9、13、17、21、25、29、33、37、41···

5 4 4 9、14、19、24、29、34、39、44、49、53···

```

由上表可得出规律,间隔为x个a的公倍数。

在n中找到既满足n%a=mod又满足n%(a-1)=mod的数。

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
		long lcm=2,ans=3;
		long[] a=new long[] {0,0,1,2,1,4,5,4,1,2,9,0,5,10,11,14,9,0,11,18,9,11,11,15,17,9,23,20,25,16,29,27,25,11,17,4,29,22,37,23,9,1,11,11,33,29,15,5,41,46};
		for(int i=3;i<=49;i++) {
			while(ans%i!=a[i]) {
				ans+=lcm;
			}
			lcm=lcm(i,lcm);
		}
		System.out.println(ans);
	}
	public static long gcd(long a,long b) {
		if(b==0) {
			return a;
		}
		else {
			return gcd(b,a%b);
		}
	}
	public static long lcm(long a,long b) {
		return a*(b/gcd(a,b));
	}
}
相关推荐
jiayong2334 分钟前
面试中遇到不熟悉问题的应对策略深度解析
面试·职场和发展
JAVA社区2 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
过期动态6 小时前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展
Raink老师6 小时前
【AI面试临阵磨枪-086】什么是 AI Agent Skill?与传统 Function Calling、Tool 的区别?
人工智能·面试·职场和发展
凯瑟琳.奥古斯特10 小时前
子查询原理与实战案例解析
开发语言·数据库·职场和发展·数据库开发
Raink老师11 小时前
【AI面试临阵磨枪-087】Skill 生命周期:注册、加载、调度、熔断、卸载、版本管理?
人工智能·面试·职场和发展
迈巴赫车主14 小时前
蓝桥杯21247弹跳鞋java
java·开发语言·数据结构·算法·职场和发展·蓝桥杯
Raink老师14 小时前
【AI面试临阵磨枪-84】如何看待 RAG vs 微调(Fine-tuning)?选型依据
人工智能·面试·职场和发展
JAVA社区14 小时前
Java高级全套教程(九)—— SpringCloud超详细实战详解
java·开发语言·后端·spring cloud·面试·职场和发展
学代码的真由酱14 小时前
【自用】测开面试问题-Java
java·面试·职场和发展