题目描述给定 n 位正整数 a,去掉其中任意 k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的 n 位正整数 a 和正整数 k,设计一个算法找出剩下数字组成的新数最小的删数方案。
算法设计:对于给定的正整数 a,计算删去 k 个数字后得到的最小数。
输入输入第 1 行是 1 个正整数 a。第 2 行是正整数 k。
输出输出最小数
#include<bits/stdc++.h>using namespace std;#define L 101int main() { int i, j, k, m, n, t, c; char ch[L], s; while (~scanf(“%s %d”, ch, &n)) { while (n–) { m = strlen(ch); for (i = 0; i < m; i++) { if (ch[i] > ch[i +...
题目描述编写一个函数,输入一行字符,将此字符串中最长的单词输出。输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
Java12345678910111213141516import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); String text=sc.nextLine(); String[] word=text.split(" "); String tmp=word[0]; for(int i=1;i< word.length;i++){ if(tmp.length()<word[i].length()){ t...
题目描述给定m根据以下公式计算T(m): T(m)=1-(1/(2*2))-….-(1/(m*m))
12345678910111213141516171819<h2 class="page-header text-muted"> 输入</h2><div class="content"> <p> 整型变量m范围[2,1000] </p></div><h2 class="page-header text-muted"> 输出</h2><div class="content"> <p> 计算<span id="MathJax-Element-11-Frame" class="MathJax" style="box-sizing: border-box; font-size: 15p...
题目描述验证尼科彻斯定理,即:任何一个正整数的立方都可以写成一串连续奇数的和。
输入任一正整数
输出该数的立方分解为一串连续奇数的和
#include<bits/stdc++.h>using namespace std;int main() { int x; scanf(“%d”, &x); long long y = x * x * x; printf(“%d*%d*%d=%lld=”, x, x, x, y); y = x * x - x + 1; for (int i = 0; i < x-1; i++) { cout << y << “+”; y += 2; } cout << y; return 0;}
题目描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长排序;3.如果编号和长都相同,按照长方形的宽排序;4.如果编号、长、宽都相同,就只保留一个长方形用于排序,删除多余的长方形;最后排好序按照指定格式显示所有的长方形;
输入第一行有一个整数 0每一组第一行有一个整数 0接下来的m行,每一行有三个数 ,第一个数表示长方形的编号,第二个和第三个数值大的表示长,数值小的表示宽,相等说明这是一个正方形(数据约定长宽与编号都小于10000);
输出顺序输出每组数据的所有符合条件的长方形的 编号 长 宽
样例输入12345678910181 1 11 1 11 1 21 2 11 2 22 1 12 1 22 2 1
样例输出123451 1 11 2 11 2 22 1 12 2 1
题解123456789101112131415161718192021222324252627282930313233343...
题目描述对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。
输入输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母及数字构成
输出对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入”(max)”。
#include<bits/stdc++.h>using namespace std;int main(){ char a[100]; int len; int b[100]; char max; while(cin>>a) { len=strlen(a); max=a[0]; for(int i=0;i<len;i++) { if(max<a[i]) { max=a[i];
...
题目描述小时候唐巧住在农村老家,老家的山很高,每次无聊的时候,他都会对着山大声说话,这个时候,山也会对他“说”同样的话(回声)。现在唐巧虽然已经长大了,但是还是常常想起儿时的故事,他想:如果可以再体会一下儿时的那种感觉多好呀!请你编程完成模拟回声的程序。
输入输入数据有多行,每行为一个字符串(字符串只由字母组成),字符串最长为15。以EOF结束。
输出对于每行输入,输出同样的内容。
#include<bits/stdc++.h>using namespace std;int main() { char a[15]; while (scanf(“%s”,&a)!=EOF) { printf(“%s\n”,a); } return 0;}
题目描述输入两个点的坐标,即p1 = (x1, y1)和p2=(x2, y2),求过这两个点的直线的斜率。如果斜率为无穷大输出“INF”。
#include<bits/stdc++.h>using namespace std;int slope(int x1,int y1,int x2,int y2){ return (y2-y1)/(x2-x1);}int main(){ int x1,y1,x2,y2,t; while(scanf(“%d %d %d %d”,&x1,&y1,&x2,&y2)!=EOF){ if(x1==x2){ cout<<”INF”<<endl;continue; } if(y1==y2){ cout<<”0”<<endl;continue; } ...
题目描述数集拓展到实数范围内,仍有些运算无法进行。比如判别式小于0的一元二次方程仍无解,因此将数集再次扩充,达到复数范围。
定义:形如z=a+bi的数称为复数(complex number)
其中规定i为虚数单位,且i^2=i*i=-1(a,b是任意实数)
我们将复数z=a+bi中的实数a称为复数z的实部(real part)记作Rez=a
实数b称为复数z的虚部(imaginary part)记作 Imz=b.
已知:当b=0时,z=a,这时复数成为实数;
当a=0且b≠0时 ,z=bi,我们就将其称为纯虚数。
定义: 对于复数z=a+bi,称复数z’=a-bi为z的共轭复数。
123<p> <b>定义:将复数的实部与虚部的平方和的正的平方根的值称为该复数的模,记作∣z∣</b></p>
即对于复数z=a+bi,它的模
∣z∣=√(a^2+b^2)
复数的集合用C表示,显然,R是C的...
题目描述Write a program which reads a sequence of n integers ai(i=1,2,…n), and prints the minimum value, maximum value and sum of the sequence.
输入In the first line, an integer n is given. In the next line, n integers ai are given in a line.
输出Print the minimum value, maximum value and sum in a line. Put a single space between the values. [alert title=”注:” icon=”flag” color=”green”]还应该比较max或min与新赋值i的大小[/alert]
题解#include<bits/stdc++.h>using namespace std;int mai...