網(wǎng)站首頁 編程語言 正文
圍圈報(bào)數(shù) 題目
解題步驟
一.整體邏輯
1.從第1個(gè)人開始報(bào)數(shù),
2.數(shù)到第m個(gè)人出列,
3.然后從出列的下一個(gè)人開始報(bào)數(shù),
4.數(shù)到第m個(gè)人又出列,…,如此反復(fù)到所有的人全部出列為止。
二.邏輯的實(shí)現(xiàn)
1.創(chuàng)造一個(gè)數(shù)組來記錄人的信息
2.利用循環(huán)依次報(bào)數(shù)(當(dāng)只剩下一個(gè)人的時(shí)候,循環(huán)結(jié)束(因?yàn)椴恍枰獔?bào)數(shù)了,直接輸出就可以了))
3.輸出報(bào)到m的人,并且將他標(biāo)記起來(表示此人已出列)
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)記起來 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; }
感悟
最近過得十分的壓抑,感覺胸上壓了塊石頭一樣,我覺得根本上還是自己太墮落了,沒有去努力,跟沒有去朝著能實(shí)現(xiàn)自己人生目標(biāo)和價(jià)值的方向去奮斗,所以才導(dǎo)致自己莫名的低落。所以我決定以后每天寫一到兩篇博客,即是對(duì)自己的督促,也是對(duì)知識(shí)的鞏固!
這個(gè)題本質(zhì)上還是借助了鏈表的概念,創(chuàng)造一個(gè)數(shù)組也就是創(chuàng)造一個(gè)鏈表來保存隊(duì)伍的信息。
一開始我并沒有想到能直接創(chuàng)造一個(gè)數(shù)組來實(shí)現(xiàn),導(dǎo)致想得過于復(fù)雜了。
以后在學(xué)數(shù)據(jù)結(jié)構(gòu)的時(shí)候也要多做總結(jié)和歸納,吸取里面寶貴的技巧,不能寫了一題忘了一題。
原文鏈接:https://blog.csdn.net/m0_61719175/article/details/122231194
相關(guān)推薦
- 2023-02-06 Go語言基礎(chǔ)學(xué)習(xí)之指針詳解_Golang
- 2022-10-07 Golang標(biāo)準(zhǔn)庫unsafe源碼解讀_Golang
- 2022-03-22 C++賦值運(yùn)算符_C 語言
- 2021-12-05 Go語言配置數(shù)據(jù)庫連接池的實(shí)現(xiàn)_Golang
- 2023-01-15 nx.adjacency_matrix計(jì)算鄰接矩陣與真實(shí)結(jié)果不一致的解決_python
- 2023-05-08 Android開發(fā)多手指觸控事件處理_Android
- 2022-04-19 jQuery下實(shí)現(xiàn)等待指定元素加載完畢
- 2023-01-02 Kotlin中空判斷與問號(hào)和感嘆號(hào)標(biāo)識(shí)符使用方法_Android
- 最近更新
-
- 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)證過濾器
- Spring Security概述快速入門
- 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)程分支