模拟专题
3004.生理高峰
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t;scanf("%d",&t);
for(int m=0;m<t;m++)//p-23 e-28 i-33
{
int p,e,i,d;scanf("%d %d %d %d",&p,&e,&i,&d);
int a,b,c;
for(a=d+1;a<=21252;a++)
{
if((a-p)%23==0) break;
}
for(b=a;b<=21252;b+=23)
{
if((b-e)%28==0) break;
}
for(c=b;c<=21252;c+=23*28)
{
if((c-i)%33==0) break;
}
printf("case #%d:\n",m);
printf("the next triple peak occurs in %d days.\n",c-d);
}
return 0;
}
2993.替换

#include <stdio.h>
#include <stdlib.h>
int main()
{
int T = 0;
scanf("%d", &T);
for (int i = 0; i < T; i++) {
int N=0;
scanf("%d", &N);
int a[30] = { 0 };
int count = 0;
for (int j = 0; j < N; j++)
scanf("%d ", &a[j]);
while (count != N) {
count = 0;
for (int j = 0; j < N; j++) {
int cnt = 0;
for (int k = j + 1; k < N; k++) {
if (a[j] > a[k]) {
cnt++;
}
}
if (a[j] == cnt) {
count++;
}
a[j] = cnt;
}
}
printf("case #%d:\n",i);
for (int j = 0; j < N; j++) {
printf("%d ", a[j]);
}
printf("\n");
}
}
2970.牧场
农场里养了一些鸡和羊,如果所有动物加在一起一共 3 个头、8 只脚,可以推断出有 2 只鸡、1 只羊。假设有N个头,M只脚,请问有多少只鸡,多少只羊。如果无解,输出 Impossible。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t;scanf("%d",&t);
for(int i=0;i<t;i++)
{
int head,feet;scanf("%d %d",&head,&feet);
printf("case #%d:\n",i);
int chick=0,sheep=0;
if(feet%2==0)
{
if(feet/2-head>=0)
{
sheep=feet/2-head;
chick=head-sheep;
if(chick>=0) printf("%d %d\n",chick,sheep);
else printf("Impossible\n");
}
else printf("Impossible\n");
}
else printf("Impossible\n");
}
return 0;
}
2984.数学手稿
马克思一生酷爱数学,从 19 世纪 40 年代起,直到逝世前不久,数十年如一日地利用闲暇时间学习和钻研数学。他在《数学手稿》中提出如下问题:有30个人(包括男人、女人和小孩)在一家饭店吃饭共花50先令,其中每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人、小孩各有多少人?现在请你编写程序解决类似这样的问题。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t;scanf("%d",&t);
for(int i=0;i<t;i++)
{
long long men,women,child;
int head,flag=0;
long long cash;
scanf("%d %lld",&head,&cash);
printf("case #%d:\n",i);
for(men=0;men<=head;men++)
for(women=0;women<=head;women++)
for(child=0;child<=head;child++)
if(3*men+2*women+child==cash)
if(men+women+child==head)
{
flag=1;printf("%lld %lld %lld\n",men,women,child);
}
if(flag==0) printf("-1\n");
}
return 0;
}

这篇博客聚焦于C/C++的模拟编程,通过两个实例来探讨这个问题:一个是农场中鸡和羊的数量推理,另一个是基于历史背景的数学问题——马克思的数学手稿中提出的头和费用的分配问题。这两个问题都需要通过编程来解决头与脚的数量关系以及费用分配的逻辑。
1335

被折叠的 条评论
为什么被折叠?



