HNU程序设计 练习五

编程入门 行业动态 更新时间:2024-10-23 17:36:00

HNU<a href=https://www.elefans.com/category/jswz/34/1771020.html style=程序设计 练习五"/>

HNU程序设计 练习五

1.小熊买糖果

【问题描述】

       小熊去到商店,选择了一种它非常喜欢的糖果,其单价为 元,假定商店里有无穷多的这种糖果。

       它的父亲允许它花费任意多的10元硬币和一个 元硬币去购买,但不能找零,请帮助小熊确定它能购买的最少数量的糖果是多少?
【输入形式】

       输入为一行两个整数 和 (1≤ ≤1000,1≤  ≤9),分别表示糖果的价格以及小熊手里的单独硬币的币值。
【输出形式】

       输出为一个数,表示小熊在不找零的情况下所能购买糖果的最小数量。
【样例输入1】

117 3

【样例输出1】

9

【样例输入2】

10 3

【样例输出2】

1
//小熊买糖果
//小熊去到商店,选择了一种它非常喜欢的糖果,其单价为 k 元,假定商店里有无穷多的这种糖果。
//
//       它的父亲允许它花费任意多的10元硬币和一个 r 元硬币去购买,但不能找零,请帮助小熊确定它能购买的最少数量的糖果是多少?
#include  <iostream>using  namespace  std;
int  getCandy(int,  int);int  main()
{int  k,  r;cin>>k>>r;int result=getCandy(k,r);cout<<result<<endl;return  0;
}int  getCandy(int k,int r){int res=1;int s=k;while(s%10!=0 && (s-r)%10!=0){ //要么没用零钱全是10,要么用了零钱 s+=k;res+=1;}return res;
} 

2.最大公约数和最小公倍数 

【问题描述】

        从键盘输入两个正整数,求他们的最大公约数和最小公倍数。
【输入形式】

        输入为一行,两个正整数
【输出形式】

        输入为一行,表示这两个正整数的最大公约数和最小公倍数
【样例输入】

15 125

【样例输出】

5 375
//最大公约数和最小公倍数
//从键盘输入两个正整数,求他们的最大公约数和最小公倍数。
#include  <iostream>using  namespace  std;
int gcd(int,int);
int lcm(int,int);
int  main()
{int  x,y;cin>>x>>y;cout<<gcd(x,  y)<<"  "<<lcm(x,y)<<endl;return  0;
}int  gcd(int  u,  int  v)                        
{if(u<v){int tem=u;u=v;v=tem; //大的除以小的}int m=u%v;while(m!=0){u=v;v=m; //辗转相除法m=u%v;}return v;
}
int lcm(int u,int v)                                                                                    
{//最小公倍数等于两数乘积除以最大公约数return  u*v/gcd(u,v);
}

3.我爱数学,我爱编程,我更爱多文件编程

【问题描述】

          从键盘输入任意多个正整数,判断其中有多少个素数和回文数?

【输入形式】

          输入任意多个正整数,输入使用ctrl^Z结束。
【输出形式】

          输出为两个整数,分别表示输入的若干个数中,素数、回文数的个数。

【样例输入】

11 121 7

【样例输出】

2 3
#include"judge.h"
//从键盘输入任意多个正整数,判断其中有多少个素数和回文数?
bool prime(int a){if(a<2){return false;}else if(a==2){return true;}for(int i=2;i<=a/2+1;i++){if(a%i==0){return false;//是不是素数}}return true;
}
bool plalindrome(int a){int res=0;int t=a;while(a>0){int y=a%10; //是不是回文数a/=10;res*=10;res+=y;  //直接反转数字}if(res==t){return true;}else{return false;}
}

4.杨辉三角 

【问题描述】

          输入层数 n,打印 n 层杨辉三角
【输入形式】

输入为一行一个整数 n

 【输出形式】

输出 n 层杨辉三角

【样例输入】

5

【样例输出】

    1

   1 1

  1 2 1

 1 3 3 1

1 4 6 4 1

提示:杨辉三角的每一行对应为二项式系数,且有公式 

#include"yang.h"
#include<iostream>
//输入层数 n,打印 n 层杨辉三角
using namespace std;
void PrintBlank(int num){for(int i=1;i<=num;i++){cout<<" "; //打印空格,第一个数前面的}
}
void PrintCombine(int n){n-=1;int *arr=new int[n+1];arr[0]=1;cout<<arr[0]<<" "; for(int i=1;i<=n;++i){arr[i]=arr[i-1]*(n-i+1)/i; //利用杨辉三角的每一行对应为二项式系数,且有公式 cout<<arr[i]<<" ";}
}

 

更多推荐

HNU程序设计 练习五

本文发布于:2023-11-16 18:15:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1629152.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:程序设计   HNU

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!