【Java编程基本功】(十一)求最大红玫瑰数,求最后剩下的人,根据输入的数选取函数求值

第三十四题

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

代码:

<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; background: none;">

public class lianxi34{
 public static void main(String[] args) {
   Scanner in = new Scanner(System.in);
   System.out.println("请输入人数n的值");
   int n = in.nextInt();
   boolean[] a = new boolean[n];
   for(int i=0;i<a.length;i++){
     a[i]=true;
   }

   int left=n,count=0,index=0;
   while(left>1){
     if (a[index]==true) {
       count++;
       if (count==3) {
         count=0;
         a[index]=false;
         left--;
       }
     }
     index++;
     if (index==n) {
       index=0;
     }
   }
   for(int i=0;i<a.length;i++){
     if (a[i]==true) {
       System.out.println("留下的是原来的"+(i+1)+"位");
     }
   }
 }
}

运行结果:

第三十五题

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n

代码:

<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; background: none;">

public class lianxi35 {
 public static void main(String[] args) {
   Scanner in = new Scanner(System.in);
   System.out.println("请输入一个正整数:");
   int n = in.nextInt();
   double sum=0;
   if (n%2==0) {
     for(int i=2;i<=n;i+=2){
       sum = sum + (double)1/i;
     }
   }else{
     for(int i=1;i<=n;i+=2){
       sum = sum + (double)1/i;
     }
   }
   System.out.println(sum);
 }
}

运行结果:

第三十六题

若正整数N的所有因子之和等于N的倍数,则称N为红玫瑰数(完备数)。如28的所有因子之和为1+2+4+7+14+28=28*2,故28是红玫瑰数。求[1,700]之间最大的红玫瑰数。

代码:

<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; background: none;">

public class lianxi36{
 public static void main(String[] args) {
   for(int n=700;n>=1;n--){
     int sum=0;
     for(int i=1;i<n;i++){
       if(n%i==0){
         sum+=i;
       }
     }
     if(sum%n==0){
       System.out.println(n);
       break;
     }
   }
 }
}

运行结果:

想学习Java的小伙伴注意啦!我整理了一套从最基础的Java入门级学习到Java框架内容,送给每一位想要学习Java的小伙伴,想要获取资料,可以关注微信公众号“速学Java”哦,这里是小白聚集地,欢迎初学和进阶中的小伙伴~

关注微信公众号:速学Java

### 中职学校网络安全理论课程大纲和教学内容 #### 2025年中职学校网络安全理论课程概述 随着信息技术的发展网络安全已成为信息化社会的重要组成部分。为了适应这一需求,中职学校的网络安全理论课程旨在培养学生具备基本的网络安全意识和技术能力,使学生能够在未来的职业生涯中应对各种网络威胁。 #### 教学目标 该课程的目标是让学生理解网络安全的基本概念、原理和技术手段,掌握常见的安全防护措施,并能应用这些知识解决实际问题。具体来说,学生应达到以下几点: - 掌握计算机网络基础架构及其工作原理; - 理解信息安全管理体系框架及其实现方法; - 学习密码学基础知识以及加密算法的应用场景; - 能够识别常见攻击方式并采取有效防御策略; #### 主要章节安排 ##### 第一章 计算机网络与互联网协议 介绍计算机网络的基础结构和服务模型,重点讲解TCP/IP五层体系结构中的各层次功能特点,特别是传输控制协议(TCP)和用户数据报协议(UDP)[^1]。 ##### 第二章 信息系统安全保障概论 探讨信息系统的脆弱性和风险评估机制,阐述如何通过物理隔离、访问控制等措施来保障系统安全性。 ##### 第三章 密码学入门 讲述对称密钥体制和非对称密钥体制的区别与发展历程,分析公钥基础设施(PKI)的工作流程及其重要性。 ##### 第四章 防火墙技术与入侵检测系统(IDS) 解释防火墙的作用原理及其分类形式(包过滤型、代理服务器型),讨论IDS的功能特性及部署建议。 ##### 第五章 Web应用程序安全 针对Web环境下的特殊挑战展开论述,如SQL注入漏洞利用、跨站脚本(XSS)攻击防范等内容。 ##### 实践环节设置 除了上述理论部分外,在每学期还设有专门实践课时用于模拟真实环境中可能遇到的安全事件处理过程,增强学生的动手操作能力和应急响应水平。 ```python # Python代码示例:简单的MD5哈希函数实现 import hashlib def md5_hash(text): hasher = hashlib.md5() hasher.update(text.encode('utf-8')) return hasher.hexdigest() print(md5_hash("example")) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值