#include<stdio.h> int main() { int n,i,a[100000],max,min,gong;//报错数组越界堆栈溢出可能是数组大小不够 while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) scanf("%d",&a[i]); max=a[0];min=a[0]; for(i=1;i<n;i++) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; } for(i=min;i>=1;i--)//最大公约数 if(max%i==0&&min%i==0) { gong=i;break; } printf("%d %d %d\n",min,max,gong); } }
//注意最大最小开始都应设为a[0] #include<iostream> using namespace std; int zdgy(int a,int b){ while(a%b!=0){ a=a-a/b*b; int temp=a; a=b; b=temp; } return b; } int main(){ int n; while(cin>>n){ int *a=new int[n],max,min; for(int i=0;i<n;i++){ cin>>a[i]; if(i==0) max=min=a[0]; if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; } cout<<min<<" "<<max<<" "<<zdgy(max,min)<<endl; } }
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { int n = in.nextInt(); int a[] = new int[n]; for (int i = 0; i < n; i++) { a[i] = in.nextInt(); } Arrays.sort(a); int min = a[0]; int max = a[n - 1]; int maxGYNum = getMaxGYNum(min, max); System.out.println(min + " " + max + " " + maxGYNum); } } public static int getMaxGYNum(int a, int b) { while (b != 0) { int t = a % b; a = b; b = t; } return a; } //也可以使用下面的方法来求最大公约数}public static int getMaxGYNum(int a, int b) {while(a!=b){if(a>b){a = a-b;}if(b>a){b = b-a;}}return a;}
#include<bits/stdc++.h> using namespace std; int f(int b,int c) { if(c==0) return b; else return f(c,b%c); } int main() { int n; while(scanf("%d",&n)!=EOF) { int a[n]; for(int i=0;i<n;i++) { scanf("%d",&a[i]); } sort(a,a+n); printf("%d %d %d\n",a[0],a[n-1],f(a[0],a[n-1])); } return 0; }
#include <iostream> using namespace std; #include "vector" #include<algorithm> int fun(int a,int b){ while(a % b != 0){ int temp = a%b; a=b; b = temp; } return b; } int main() { int n; while (cin >> n) { vector<int>v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } sort(v.begin(), v.end()); int max_num = v[n - 1]; int min_num = v[0]; cout << min_num << " " << max_num << " " << fun(max_num,min_num); cout<<endl; } }
#include <algorithm> #include <climits> #include <iostream> #include <numeric> using namespace std; int main() { int n; while (cin >> n) { int maximum = 0, minimum = INT_MAX; while (n--) { int x; cin >> x; maximum = max(maximum, x); minimum = min(minimum, x); } cout << minimum << " " << maximum << " " << gcd(maximum, minimum) << endl; } return 0; }
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n; while (cin >> n) { vector<int> my;int temp; for (int i = 0; i < n; ++i) { cin >> temp; my.push_back(temp); } sort(my.begin(),my.end()); int min = my[0],max = my[my.size()-1]; cout << min << " " << max << " "; if(max % min == 0){ cout << min << endl; }else{ int maxl = 1; for(int i = 2;i < min;++i){ if(min % i == 0 && max % i == 0){ maxl = i; } } cout << maxl << endl; } } } // 64 位输出请用 printf("%lld")
#include <cstdio> #include <climits> using namespace std; int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b); } int main(){ int n; while(scanf("%d",&n) != EOF){ int arr[n]; int maximum = -INT_MAX, minimum = INT_MAX, mgcd; for(int i = 0; i < n; ++i){ scanf("%d",&arr[i]); if(arr[i] > maximum) maximum = arr[i]; if(arr[i] < minimum) minimum = arr[i]; } mgcd = gcd(maximum,minimum); printf("%d %d %d\n",minimum,maximum,mgcd); } return 0; }
#include <iostream> #include <vector> #include <algorithm> using namespace std; long long gcd(long long x, long long y) { if (y == 0) return x; return gcd(y, x % y); } int main() { int a; while (cin >> a) { vector<long long> vec; for (int i = 0; i < a; ++i) { long long temp; cin >> temp; vec.push_back(temp); } sort(vec.begin(), vec.end()); long long x = vec[0]; long long y = vec[a - 1]; cout << x << " " << y <<" "<< gcd(x, y) <<endl; } } // 64 位输出请用 printf("%lld")
#include <iostream> using namespace std; int gcd(int m, int n) { int max = m > n ? m : n ; int min = m < n ? m : n ; return max % min == 0 ? min : gcd(min, max - min); } int main() { int n; while (cin >> n) { int min = 0x7fffffff, max = 0x80000000; int *a = new int[n]; for (int i = 0 ; i < n ; i++) { cin >> a[i]; if (a[i] > max) max = a[i]; if (a[i] < min) min = a[i]; } cout << min << " " << max << " " << gcd(max, min) << endl; } return 0; }
#include<stdio.h> int findmax(int a[],int n){ int i,max; max=a[0]; for(i=1;i<n;i++) if(max<a[i]) max=a[i]; return max; } int findmin(int a[],int n){ int i,min; min=a[0]; for(i=1;i<n;i++) if(min>a[i]) min=a[i]; return min; } int findmaxnum(int a,int b){ int c; while(a%b!=0){ c=a; a=b; b=c%b; } return b; } int main(){ int n,i,min,max,maxnum; int a[100000]; while(scanf("%d",&n)!=EOF){ for(i=0;i<n;i++){ scanf("%d",&a[i]); } min=findmin(a,n); max=findmax(a,n); maxnum=findmaxnum(max,min); printf("%d %d %d\n",min,max,maxnum); } }
#include<iostream> using namespace std ; int GCD(int x , int y) { if(y == 0) return x ; else return GCD(y , x%y) ; } int main() { int max,min,n,a ; //a为当前输入 while(cin >> n) { cin >> a ; max = a ; min = a ; for(int i = 1 ; i < n ; i++) { cin >> a ; if(max < a) max = a ; if(min > a) min = a ; } int res = GCD(max , min) ; cout << min << ' ' << max << ' ' << res << endl ; } return 0 ; }
#include<iostream> #include<vector> #include<algorithm> using namespace std; int c_max(int a,int b)//辗转相除法或欧几里得算法 { if(b == 0) return a; else return c_max(b, a % b); } int main(void) { int n; while(cin >> n) { vector<int> arr; int x; while(n--) { cin >> x; arr.push_back(x); } sort(arr.begin(), arr.end(),less<int>()); int len = arr.size(); cout << arr[0] << ' ' << arr[len - 1] << ' '; int c_value = c_max(arr[0], arr[len - 1]); cout << c_value << endl; } return 0; }
#include <iostream> #include <algorithm> using namespace std; int main() { int n; while(cin >> n) { int a[n]; for(int i=0;i<n;i++) { cin >> a[i]; } sort(a,a+n); int min=a[0]; int max=a[n-1]; int yue; for(int j=min;j>=1;j--) { if(min%j==0&&max%j==0) { yue=j; break; } } cout << min << " " << max << " " << yue << endl; } return 0; }
#include<iostream> using namespace std; int GCD(int a,int b){ if(b==0) return a; else return GCD(b,a%b); } int main(){ int n; while(cin>>n){ int arr[n]; for(int i=0;i<n;i++) scanf("%d",&arr[i]); int min=2147483647,max=0; for(int i=0;i<n;i++){ if(arr[i]<min) min=arr[i]; if(arr[i]>max) max=arr[i];} int ans=GCD(min,max); printf("%d %d %d\n",min,max,ans); } }
#include<cstdio> #include<iostream> #include<vector> using namespace std; int gongyue(int a,int b){ if(b==0){ return a; } else{ return gongyue(b,a%b); } } int main(){ int n,c; int temp=0; while(scanf("%d",&n)!=EOF){ vector<int> ab; while(n!=0){ scanf("%d",&c); ab.push_back(c); n--; } int max=ab[0]; int min=ab[0]; for(int i=1;i<ab.size();i++){ if(ab[i]>max){ max=ab[i]; } else if(ab[i]<min){ min=ab[i]; } } printf("%d %d %d\n",min,max,gongyue(max,min)); } return 0; }
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> using namespace std; int func(int a, int b) { if(a % b == 0){ return b; } else{ return func(b, a % b); } } int main() { int n; while(cin>>n){ if(n < 1){ break; } int arr[n]; int minx, maxx; for(int i = 0; i < n; i++){ cin>>arr[i]; if(i == 0){ minx = arr[0]; maxx = arr[0]; } else{ minx = minx < arr[i] ? minx : arr[i]; maxx = maxx > arr[i] ? maxx : arr[i]; } } cout<<minx<<" "<<maxx<<" "<<func(maxx, minx)<<endl; } return 0; }