網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
圍圈報(bào)數(shù) 題目
解題步驟
一.整體邏輯
1.從第1個(gè)人開(kāi)始報(bào)數(shù),
2.數(shù)到第m個(gè)人出列,
3.然后從出列的下一個(gè)人開(kāi)始報(bào)數(shù),
4.數(shù)到第m個(gè)人又出列,…,如此反復(fù)到所有的人全部出列為止。
二.邏輯的實(shí)現(xiàn)
1.創(chuàng)造一個(gè)數(shù)組來(lái)記錄人的信息
2.利用循環(huán)依次報(bào)數(shù)(當(dāng)只剩下一個(gè)人的時(shí)候,循環(huán)結(jié)束(因?yàn)椴恍枰獔?bào)數(shù)了,直接輸出就可以了))
3.輸出報(bào)到m的人,并且將他標(biāo)記起來(lái)(表示此人已出列)
4.最后輸出剩下的那個(gè)人
三.代碼的實(shí)現(xiàn)
#include<stdio.h> #include<string.h> #pragma warning(disable:4996) int main() { int n, m; scanf("%d %d", &n,& m); int* arr = (int*)malloc(sizeof(int) * (n+1)); //創(chuàng)造一個(gè)數(shù)組 for (int i = 0; i <= n; i++) { arr[i] = i ; } int number = 0;//出列的人數(shù) int k = 0; int j = 1; while (number < n - 1) //當(dāng)只剩下一個(gè)人的時(shí)候推出 { if (arr[j] != 0)//報(bào)數(shù) { k++; } if (k == m) { printf("%d ", arr[j]); arr[j] = 0; //出列的人標(biāo)記起來(lái) number++; k = 0; } j++; if (j == n+1) //當(dāng)最后一個(gè)人報(bào)完的時(shí)候,回到第一個(gè)人 j = 1; } for (int i = 1; i <= n; i++) { if (arr[i] != 0) printf("%d", arr[i]); //最后打印出剩下的一個(gè)人 } return 0; }
感悟
最近過(guò)得十分的壓抑,感覺(jué)胸上壓了塊石頭一樣,我覺(jué)得根本上還是自己太墮落了,沒(méi)有去努力,跟沒(méi)有去朝著能實(shí)現(xiàn)自己人生目標(biāo)和價(jià)值的方向去奮斗,所以才導(dǎo)致自己莫名的低落。所以我決定以后每天寫(xiě)一到兩篇博客,即是對(duì)自己的督促,也是對(duì)知識(shí)的鞏固!
這個(gè)題本質(zhì)上還是借助了鏈表的概念,創(chuàng)造一個(gè)數(shù)組也就是創(chuàng)造一個(gè)鏈表來(lái)保存隊(duì)伍的信息。
一開(kāi)始我并沒(méi)有想到能直接創(chuàng)造一個(gè)數(shù)組來(lái)實(shí)現(xiàn),導(dǎo)致想得過(guò)于復(fù)雜了。
以后在學(xué)數(shù)據(jù)結(jié)構(gòu)的時(shí)候也要多做總結(jié)和歸納,吸取里面寶貴的技巧,不能寫(xiě)了一題忘了一題。
原文鏈接:https://blog.csdn.net/m0_61719175/article/details/122231194
相關(guān)推薦
- 2022-02-13 搞明白this指向,走遍天下都不怕(一)
- 2022-12-13 深入了解Rust的生命周期_Rust語(yǔ)言
- 2022-12-11 Go?模塊在下游服務(wù)抖動(dòng)恢復(fù)后CPU占用無(wú)法恢復(fù)原因_Golang
- 2022-01-15 Meteor 項(xiàng)目部署至服務(wù)器(windows)
- 2023-07-05 docker容器部署nginx外網(wǎng)不通端口監(jiān)聽(tīng)只有tcp6沒(méi)走tcp問(wèn)題
- 2023-06-19 圖文詳解Go中的channel_Golang
- 2022-11-07 python中dot函數(shù)運(yùn)算過(guò)程總結(jié)_python
- 2022-03-06 SQLServer批量插入數(shù)據(jù)的三種方式及性能對(duì)比_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支