算法实验题(涉外黄成老师!!!)
创始人
2024-02-01 11:17:05

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

日期 2022.11.19

目录
实验报告一 第一题 2
实验报告二 第二题 3
实验报告三 第三题 4
实验报告四 第四题 5
实验报告五 第五题 6
实验报告六 第六题 7

实验报告一 第一题
一、实验目的
由1,3,4,5,7,8这六个数字所组成的六位数中,找能被11整除的最大的数
二、实验内容
(实验题目描述)
由1,3,4,5,7,8这六个数字所组成的六位数中,能被11整除的最大的数是多少?
各位数字和为1+3+4+5+7+8=28
所以偶数位和奇数位上数字和均为14
为了使得该数最大,首位必须是8,第2位是7,14-8=6
那么第3位一定是5,第5位为1
该数最大为875413。

三、实验过程
(实验源码、实验结果)

#include 
int main()
{int a,b,c,d,e,f;for(a=8;a>0;a--)if(a-2&&a-6)for(b=8;b>0;b--)if(b-a&&b-2&&b-6)for(c=8;c>0;c--)if(c-a&&c-b&&c-2&&c-6)for(d=8;d>0;d--)if(d-a&&d-b&&d-c&&d-2&&d-6)for(e=8;e>0;e--)if(e-a&&e-b&&e-c&&e-d&&e-2&&e-6){f=1+3+4+5+7+8-a-b-c-d-e;if(a+c+e==b+d+f){printf("%d%d%d%d%d%d",a,b,c,d,e,f);return 0;}}return 0;
}

在这里插入图片描述

四、实验总结
(实验心得体会)
C语言写的,用多个循环可以解决

实验报告二 第二题
一、实验目的
用1,2,5,7,8,9这六个数字(每个数字至多用一次)来组成一个五位数,使得它能被75整除
二、实验内容
(实验题目描述)
请用1,2,5,7,8,9这六个数字(每个数字至多用一次)来组成一个五位数,使得它能被75整除,并求出这样的五位数有几个?
75=3×25
若被3整除,则各位数字和是3的倍数,1+2+5+7+8+9=32
所以应该去掉一个被3除余2的,因此要么去掉2要么去掉8
先任给一个去掉8的,17925即满足要求
若去掉8
则末2位要么是25要么是75,前3位则任意排,有3!=6种排法
因此若去掉8则有2*6=12个满足要求的数
若去掉2
则末2位只能是75,前3位任意排,有6种排法
所以有6个满足要求
综上所述,满足要求的五位数有18个

三、实验过程
(实验源码、实验结果)

#include 
#include 
using namespace std;
int main()
{
int a[5] = { 1,2,7,8,9 },b[4];
while (next_permutation(a, a + 5))
{
for (int i = 0; i < 4; i++)
{
b[i] = a[i];
}
int sum = b[0] * 10000 + b[1] * 1000 + b[2] * 100 + b[3] * 10 + 5;
if (sum % 75 == 0)
cout << b[0] << b[1] << b[2] << b[3] << 5 << endl;
}
system("pause");
return 0;
}

在这里插入图片描述

四、实验总结
(实验心得体会)
借助全排列函数,末尾是5,其余四位b[4]在a[5]中取,然后判断
实验报告三 第三题
一、实验目的
一个小于200的自然数,被7除余2,被8除余3,被9除余1,求这个数是多少?

二、实验内容
(实验题目描述)
一个小于200的自然数,被7除余2,被8除余3,被9除余1,这个数是多少?
注意到7-2=8-3=5
也就是说该数加上5以后可被7和8整除,也就是56的倍数
因此这个数只可能是56-5 562-5 563-5
经检验发现只有56*3-5=163被9除余1符合要求,因此该数为163

三、实验过程
(实验源码、实验结果)

#include
int main(){int i=1;for(;i<200;i++){if(i%7==2&&i%8==3&&i%9==1)printf("这个数是%d",i);}return 0;
}

在这里插入图片描述

四、实验总结
(实验心得体会)
蛮算

实验报告四 第四题
一、实验目的
找数,在所有的两位数中,十位上的数字比个位上的数字要大的共有多少个?三位数中佰位比个位大的数字有多少呢?
二、实验内容
(实验题目描述)
在所有的两位数中,十位上的数字比个位上的数字要大的共有多少个?三位数中佰位比个位大的数字有多少呢?
三、实验过程
(实验源码、实验结果)

#include 
int main()
{int m,n,sum=0,i,a,b,c;scanf("%d%d",&m,&n);if(m>=10&&mfor(i=m; i<=n; i++){a=i%10;b=i/10;c=b%10;if(c>a){sum=sum+i;}}printf("%d",sum);}return 0;}

在这里插入图片描述

三位数,改一下范围,改一下a,b,c,d(同水仙花数)

四、实验总结
(实验心得体会)
和水仙花数有相同原理可类比

实验报告五 第五题
一、实验目的
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字
二、实验内容
(实验题目描述)
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
【Input】
一行:两个数a,b。中间用一个空格隔开。1<=a<=9,1<=b<=200。
【Output】
计算后的结果。
【样例输入一:】
5 3
【样例输出一:】
615

【样例输入二:】
3 5
【样例输出二:】
37035

三、实验过程
(实验源码、实验结果)

package com.ljy.tencent;
import java.util.Scanner;
public class AddNumerical
{public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输入一个数字:");int n = input.nextInt();System.out.println("请输入需要相加的个数:");int number = input.nextInt();input.close();//调用计算方法System.out.println("计算输出结果为:");System.out.print("s=");System.out.print(count(n, number));}//求和表达式以及求和public static int count(int n, int number){int s = 0;//s为每一个叠数int sum = 0;//sum为最后的总和//循环从1次幂到number次幂的叠数for(int i = 1; i <= number; i++){//调用形成叠数的方法s = coumpute(n, i);//利用if...else区分是否为最后一个加数,从而保证最后一个数后面不添加"+"if(i == number){System.out.print(s);}else{System.out.print(s + "+");}sum += s;}System.out.print("=");return sum;}//叠数的形成public static int coumpute(int n, int number){int m = 0;for(int i = 0; i < number; i++){//从0次幂到number次幂形成叠数,如22222=2*10^4+2*10^3+2*10^2+2*10^1+2*10^0m += (int) (n * Math.pow(10, i));}return m;}
}

在这里插入图片描述

四、实验总结
(实验心得体会)
好难……

实验报告六 第六题
一、实验目的
按照键盘输入的数值N的大小,打印菱形
二、实验内容
(实验题目描述)
按照键盘输入的数值N的大小,打印如下图形
*
***
*****
*******
*********
*******
*****
***
*
N为图形的行数。要求使用循环实现。
【Input】
显示的行数
【Output】
图形。
【样例输入:】
9

三、实验过程
(实验源码、实验结果)

package lianxi;public class lingxing{public static void main(String[] args) {//打印菱形//1.for(int i=0;i<5;i++){for (int k=0;k<5-i;k++){System.out.print(" ");}for(int j=0;j<2*i+1;j++){System.out.print("*");}System.out.println();}//2.倒的等腰三角形for(int i=4;i>=0;i--){for (int k=0;k<5-i;k++){System.out.print(" ");}for(int j=0;j<2*i+1;j++){System.out.print("*");}System.out.println();}}
}

在这里插入图片描述

四、实验总结
(实验心得体会)
对称有规律,做一半另一半改一下就好了

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...