编程题:五人分鱼
A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。
C、D、E依次醒来,也按同样的方法拿鱼。
问他们合伙至少捕了多少条鱼?以及每个人醒来时见到了多少鱼?
#include <iostream> using namespace std; int main(){ int n,j,k,l,m; for(n=5;;n++){ j=4*(n-1)/5;//b k=4*(j-1)/5;//c l=4*(k-1)/5;//d m=4*(l-1)/5;//e if(n%5==1&&j%5==1&&k%5==1&&l%5==1&&m%5==1){ cout << n << endl;//a看到 cout << j << " " << k << " " << l<< " " <<m; break; } } return 0; }
#include <stdio.h> int main() { int x=2; while(1) { int num=x; int i; for(i=1;i<=5;i++) { if((num-1)%5==0) num=(num-1)/5*4; else break; } if(i>5) break; x++; } printf("%d",x); return 0; }
#include <stdio.h>
void main()
{
int a;
scanf("输入船上的总人数:%d",&a);
int sun_people[a+1];
int k=0; // 用作标记淘汰的个数
for(int i=1;i<=a;i++) sum_people[i]=i; // 先为数组赋值,以此作为编号
for(int j=1;j!=0;j++)
for(int i=1;i<=a-1;i++)
if(i%9==0)
printf(i); k++;
if(sun_people[i+k]==null) continue;
sun_people[i]=sun_people[i+k];
}
if((((fioat)a)-k)==(((fioat)a)/2)) break; //每次循环结束,判断船上是否剩余总人数的一半,用浮点数判断
1
这题逻辑怎么感觉不通啊
#include<iostream> using namespace std;
int main() { int x=10; int a,b,c,d,e; while(true) { a=x; b=a-a/5-1; c=b-b/5-1; d=c-c/5-1; e=d-d/5-1; if(a%5==1 && b%5==1 && c%5==1 && d%5==1 && e%5==1) { cout<<x<<endl; cout<<a<<"\t"<<b<<"\t"<<c<<"\t"<<d<<"\t"<<e<<endl; break; }
x++; }
return 0; }
#include <st...
用户登录可进行刷题及查看答案
#include <stdio.h> int main(){ int n,x,j,k,l,m; for(n=5;;n++){ j=4*(n-1)/5; k=4*(j-1)/5; l=4*(k-1)/5; m=4*(l-1)/5; if(n%5==1&&j%5==1&&k%5==1&&l%5==1&&m%5==1){ printf("至少合伙捕鱼:%d条\n",n); printf("分别见到鱼的条数:%d %d %d %d\n",j,k,l,m); break; } } return 0; }
登录后提交答案