我是靠谱客的博主 直率薯片,最近开发中收集的这篇文章主要介绍蓝桥 给定正整数n JAVA,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

你的任务是用最少的操作次数把序列1,2,…,n中的所有数都变成0。
每次操作可从序列中选择一个或多个整数,
同时减去一个相同的正整数。比如,
1,2,3可以把2和3同时减小2,得到1,0,1。

[输入]
输入包含多组数据。每组仅一行,为正整数n(n≤109)。
输入结束标志为文件结束符(EOF)。

[输出]
对于每组数据,输出最少操作次数。
思路 :就是一串数据,完了一直同时减他们的最大公倍数,减到0为止,输出减的次数。

	public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
while (scanner.hasNext()) {
//判断是否有数据输入
int x=scanner.nextInt();
int ans=1;
//1-0的时候还有一次,所以要给个固定1
while (x!=1) {
x/=2;
ans++;
}
System.out.println(ans);
}
}

下面这个调用方法不好理解……

	public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n, m = 0;
n = scanner.nextInt();
System.out.println(function(n, m));
}
public static int function(int n, int m) {
while (n != 0) {
if (n == 1)
return 0;
else if (n % 2 == 0)
return 1 + function(n / 2, m + 1);
int x = function(n + 1, m + 1);
int y = function(n - 1, m + 1);
if (x > y) return y + 1;
else
return x + 1;
}
return m;
}

小剧场:我欲穿花寻路,直入白云深处,浩气展霓虹。

最后

以上就是直率薯片为你收集整理的蓝桥 给定正整数n JAVA的全部内容,希望文章能够帮你解决蓝桥 给定正整数n JAVA所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部