算法竞赛入门经典(刘汝佳版)例题与解答
生活随笔
收集整理的這篇文章主要介紹了
算法竞赛入门经典(刘汝佳版)例题与解答
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.P39--開(kāi)燈問(wèn)題
問(wèn)題描述:有n盞燈,編號(hào)為1~n。第一個(gè)人把所有燈打開(kāi),第二按下所有編號(hào)為2的倍數(shù)的開(kāi)關(guān)(即每按一次燈的狀態(tài)都將發(fā)生改變),第k格人將按下所有為k倍的編號(hào)開(kāi)關(guān)。輸入n和k,且k<=n<=1000,輸出最后開(kāi)著的燈的編號(hào)。
示例輸入:7 3
樣例輸出:1 5 6 7
分析:創(chuàng)建一個(gè)數(shù)組,且令該數(shù)組的長(zhǎng)度等于n,并以0表示關(guān),1表示開(kāi),最初該數(shù)組所有元素都為0。每操作一次,0和1互換。
代碼如下:
#include <stdio.h> int main() {int n,k;scanf("%d%d",&n,&k);int a[n];for (int i=0; i<=n-1; i++) {a[i]=0;}for(int i=1; i<=k; i++) {for(int j=1; j<=n; j++) {if (j%i==0) {if (a[j-1]==0) {a[j-1]=1;} else {a[j-1]=0;}}}}for(int i=0; i<=n-1; i++) {if (a[i]==1)printf("%d",i+1);}return 0;}總結(jié)
以上是生活随笔為你收集整理的算法竞赛入门经典(刘汝佳版)例题与解答的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: FBV(function base vi
- 下一篇: 【机器学习】自己手写实现线性回归,梯度下