华南农业大学新生c语言竞赛题--韩信点兵

 2025-01-09 18:51:01  阅读 120  评论 0

摘要:#include"stdio.h"#include"math.h"main(){inta,b,c,d,e,f,g,h,A,B,C,D,E,F,G,Hlongi,sum=0scanf("%d%d%d%d%d%d%d%d",&A,&B,&C,&D,&E,&F,&G,&H)scanf("%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h)for(i=2i<pow(2,63)i++)

#include"stdio.h"

#include"math.h"

main()

华南农业大学新生c语言竞赛题--韩信点兵

{

int

a,b,c,d,e,f,g,h,A,B,C,D,E,F,G,H

long

i,sum=0

scanf("%d

%d

%d

%d

%d

%d

%d

%d",&A,&B,&C,&D,&E,&F,&G,&H)

scanf("%d

%d

%d

%d

%d

%d

%d

%d",&a,&b,&c,&d,&e,&f,&g,&h)

for(i=2i<pow(2,63)i++)

{

if(i%A==a&&i%B==b&&i%C==c&&i%D==d&&i%E==e&&i%F==f&&i%G==g&&i%H==h)

{

sum=i

break

}

}

printf("%ld",sum)

}

师弟啊,你们好幸运啊,我们去年来华农的时候,没可没有这么好的机会有这些竞赛哦,希望你好好把握!

其实这些体都不是很难,只是你们以前没接触过C语言而一时适应不了吧……其实每个初学C语言的人都认为好像有学了,但是好像不懂,其实你慢慢会懂得,你一直在进步,只是没感觉出来而已……

我建议你如果真的想学好C语言,要多多上机。学校不个带电脑不是借口,东区实验楼三楼的机子在星期一至星期五都是免费开放的,给你们上机做实验足够了哦,希望你们好好珍惜……

呵呵,可能说太多了吧,最后跟你说一下我自己,我是信息学院的,06级,QQ115881379,有什么问题可以找我!

华南农业大学新生c语言竞赛题--K尾相等数

#include<iostream>

using namespace std

void main()

{

int i,j,a[3]={2,20,12},c1,c2,f[100]={0},m,n,t=0,k=0,x

for(x=0x<=3x++)

{

for(i=1i<=120i++)

for(j=1j<=120j++)

if(i*i+j*j==a[x]*a[x] || i*i-j*j==a[x]*a[x]|| j*j-i*i==a[x]*a[x])

{

if(i>j)

{ c1=i

c2=j

}

else

{c1=j

c2=i

}

if(k>0)

for(m=0m<=k-1m++)

if(c1==f[m])

t=1

if(t==0)

{

f[k++]=c1

cout<<c1<<","<<c2<<endl

}

t=0

}

if(f[0]==0)

cout<<"没有解"<<endl

else

cout<<endl

}

}

华南农业大学新生c语言竞赛题--约瑟夫环问题

解:对于一个数,它的幂是无穷多个的,但是末尾三位数只有1000种。这表明当第一次重复出现大于等于1000的末尾三位数时,这就是我们要求的M和N了.

源代码:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#define LEN 1000

void main(){

int k,i,tail[LEN],m,flag

while(1){

scanf("%d",&k) //输入K

if(k==1) exit(0) //如果K等于1则退出

flag=0 //初始化

i=m=1//m为当前幂的次数,i等于k的m次幂

memset(tail,0,sizeof(int)*LEN)

if(k>=LEN){

k=k%LEN

flag=1

}

while(1){

i*=k

if(i>=LEN || flag==1){

if(tail[i%LEN]==0) tail[i%LEN]=m//这个末尾三位数是第一次出现

else {tail[i%LEN]+=mbreak}//末尾三位数出现了第二次,退出循环

flag=1

}

if(i>=LEN) i=i%LEN

m++

}

printf("%d ",tail[i%LEN])

}

}

#include <iostream>

#include <cstdio>

using namespace std

typedef int ElementType

struct Node

typedef struct Node *PtrToNode

typedef PtrTonode List

typedef PtrTonode Position

struct Node

{

ElementType element

Position prior

Position next

}

void Delete(Position P)

Position Forward(Position address, int step)

int main()

{

List L=NULL

int N, M, num

cout <<"Please enter the N and M" <<endl

while(1){

cin >>N >>M

num = N

if(N>0&&M>=0)break//判断N和M是否合法

cout <<"Don't you know the value input should fit N>0&&M>=0?!" <<endl

<<"Please enter N and M again:"

}

L = (List)malloc(sizeof(Node))

Position temp=L

for(int i=1i++){

temp->next = (List)malloc(sizeof(Node))

temp->element = i

if(i==N)break

temp->next->prior = temp

temp = temp->next

}

free(temp->next)//将多余分配的内存释放

temp->next = L

L->prior = temp

Position position=L, pause

while(num!=1){

pause = Forward(position, M%num)//传递完毕后的位置,也就是应该删除的位置

position = pause->next//下次开始时的位置

//没有打印语句可以减少运行时间,但数据规模小的时候加上可以清晰的反映删除的步骤,这个语句是否加上可选

//cout <<"Delete-" <<pause->element <<" "

Delete(pause)

num--

}

cout <<endl <<"Winner is:" <<position->element <<endl

system("pause")

return 0

}

void Delete(Position P)

{

P->next->prior = P->prior

P->prior->next = P->next

//free(P)//不释放内存为了提高运行效率,不过如果内存不够的话,还是应该调用free函数,所以这个地方可选

return

}

Position Forward(Position address, int step)

{

Position temp=address

for(int i=0i<stepi++){

temp = temp->next

}

return temp

}

以上就是关于华南农业大学新生c语言竞赛题--韩信点兵全部的内容,如果了解更多相关内容,可以关注,你们的支持是我们更新的动力!

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【华南农业大学新生c语言竞赛题--韩信点兵】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/908961.html

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0444秒, 内存占用1.98 MB, 访问数据库23次

陕ICP备14005772号-15