参考代码:
#include <stdio.h> #include <string.h> int isSame(int *s, int N) { int jug = 1; for (int i = 0; i < N - 1; ++i) { if (s[i] != s[i + 1]) { jug = 0; break; } } return jug; } void give2L(int *s, int N) { int temp = s[0]; for (int i = 0; i < N - 1; ++i) { s[i] /= 2; s[i] += s[i + 1] / 2; } s[N - 1] /= 2; s[N - 1] += temp / 2; } int main(void) { int N, cnt = 0; scanf("%d", &N); int s[N]; //input for (int i = 0; i < N; ++i) scanf("%d", &s[i]); //process while (!isSame(s, N)) { give2L(s, N); for (int i = 0; i < N; ++i) { if (s[i] % 2) { s[i] += 1; cnt++; } } } printf("%d", cnt); return 0; }
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1090 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:1024 |
IP判断 (C语言代码)浏览:819 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:366 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:544 |
永远的丰碑 (C语言代码)浏览:608 |
矩阵的对角线之和 (C语言代码)浏览:1401 |
找出最长的字符串来 (C语言代码)浏览:1840 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:465 |