- 猴子第一天摘了若干個(gè)桃子寝姿,當(dāng)即吃了一半,還不解饞划滋,又多吃了一個(gè)饵筑;第二天,吃剩下的桃子的一半处坪,還不過癮根资,又多吃了一個(gè)架专;以后每天都吃前一天剩下的一半多一個(gè),到第10天想再吃時(shí)玄帕,只剩下一個(gè)桃子了部脚。問第一天共摘了多少個(gè)桃子?
int main() {
int i = 1, sum = 1;
while (i <= 10) {
sum = (sum + 1) * 2;
i++;
}
printf("第一天共摘了%d個(gè)桃子", sum);
return 0;
}
- 一對(duì)兔子裤纹,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子睛低。小兔子長(zhǎng)到第3個(gè)月后每個(gè)月又生一對(duì)兔子。假如兔子都不死服傍,請(qǐng)問第1個(gè)月出生的一對(duì)兔子,第n個(gè)月有多少只兔子骂铁?(其實(shí)還是斐波那契)
int feed(int n) {
if (n == 1 || n == 2) {
return 2;
} else {
return feed(n - 1) + feed(n - 2);
}
}
int main() {
int n;
while(scanf("%d", &n) != EOF) {
int ans = feed(n);
printf("第%d月共有%d只兔子\n", n, ans);
}
return 0;
}
- 將一個(gè)正整數(shù)分解質(zhì)因數(shù)吹零。例如:輸入90,打印出90=233*5。
void getPri(int n, int m) {
if (n == 1) {
return;
}
for (int i = 2; i <= n / 2; i++) {
//如果當(dāng)前因數(shù)是質(zhì)數(shù)
if (m % i == 0) {
//如果m等于i拉庵,則分解完成
if (m / i == 1) {
printf("%d\n", i);
} else {
printf("%d *", i);
}
//遞歸分解
getPri(n, m / i);
break;
}
}
}
int main() {
int n;
while(scanf("%d", &n) != EOF) {
getPri(n, n);
}
return 0;
}
- 輸入一個(gè)整數(shù)灿椅,再?gòu)妮斎氲囊唤M數(shù)中找出輸入的整數(shù)出現(xiàn)的次數(shù)和位置。
int main() {
int n, i = 0, num, ans[10010], time = 0;
char c;
while (scanf("%d", &n) != EOF) {
int t = 0;
while(1) {
scanf("%d", &num);
if (num == n) {
ans[i] = t;
time++;
i++;
}
t++;
c = getchar();
if (c == '\n') {
break;
}
}
printf("%d在數(shù)組中出現(xiàn)了%d次钞支,它是數(shù)組中的", n, time);
for (int i = 0; i < time; i++) {
printf("第%d個(gè) ", ans[i] + 1);
}
printf("\n");
}
return 0;
}
- 給一個(gè)數(shù)茫蛹,若該數(shù)的相鄰數(shù)都不相同,則稱該數(shù)為不重復(fù)數(shù)(如110為重復(fù)數(shù)烁挟,101為不重復(fù)數(shù))婴洼。輸入n,編程實(shí)現(xiàn)比n大的最小不重復(fù)數(shù)撼嗓。
bool repeatNum(int n) {
int str[20];
int t = 0;
while (n > 0) {
str[t] = n % 10;
n = n / 10;
t++;
}
for (int i = 0; i < t; i++) {
for (int j = 0; j < t - i - 1; j++) {
if (str[j] == str[j + 1]) {
return false;
}
}
}
return true;
}
int main() {
int n;
while(scanf("%d", &n) != EOF) {
n++;
bool flag = repeatNum(n);
while (!flag) {
n++;
flag = repeatNum(n);
}
if (n >= 100000) {
printf("error!");
} else {
printf("%d\n", n);
}
}
return 0;
}