|
发表于 2024-10-26 01:14:31
|
显示全部楼层
本帖最后由 jackz007 于 2024-10-26 01:35 编辑
这些代码
- for(index=0;index<n;index++)
- {
- if(arr[index]==1)
- {
- number++;
- }
- if(number%3==0)
- {
- arr[index]=0;
- count--;
- }
- }
复制代码
应该改为:
- for(index=0;index<n;index++)
- {
- if(arr[index]==1)
- {
- number++;
- if(number%3==0)
- {
- arr[index]=0;
- count--;
- }
- }
- }
复制代码
以下是我写的代码,谨供楼主参考:
- #include <stdio.h>
- int main(void)
- {
- int arr[1024] , c , i , k , n ;
- printf("n : ") ;
- scanf("%d" , & n) ;
- for(i = 0 ; i < n ; i ++) arr[i] = 1 ;
- for(c = i = 0 , k = n ; k > 1 ; i ++) {
- if(arr[i % n]) {
- c ++ ;
- if(c == 3) {
- arr[i % n] = 0 ;
- k -- ;
- c = 0 ;
- }
- }
- }
- for(i = 0 ; i < n ; i ++) if(arr[i]) break ;
- printf("%d\n" , i + 1) ;
- }
复制代码 |
|