mdsk.net
当前位置:首页 >> C++用什么办法能快速输出 1%9 的不同排列? >>

C++用什么办法能快速输出 1%9 的不同排列?

7.#include <iostream>using namespace std;int main(){ for(int b=0;b<=9;b++) { for(int s=0;s<=9;s++) { for(int g=0;g<=9;g++) { if(b*100+s*10+g!=b*b*b+s*s*s+g*g*g) { continue; } if(b) cout<<b<<s<<g<<endl; } } } return 0;}

#include <iostream> #include <string.h> #include <stdlib.h> using namespace std; int ok(int list[],int k,int i) { if(i>k) for (int t=k;t<i;t++) if (list[t]==list[i]) return 0; return 1; } void perm(int list[],int k,int m) { if(k==m) { for(int i=0;i<=m;i++) cout<<list[i];

最简单的办法,加输出语句在递归之后,在递归退栈时依次输出不过这样是逆序的

void fun(int n,int a[]){ int i,j,t,k; for(i=1;i 评论0 0 0

#inlcude<iostream.h> void main(){ int i; for(i=1;i<=9;i++){ if(i%3==0) // 判断如果是三的倍数,就输出一上回车以实现换行 cout<<"\n"; cout << i << " "; }

// 以下代码在VC2005下测试通过 #include <iostream> #include <ctime> using namespace std; // 划分 int Partition(int A[], int p, int r) { int x = A[p]; int i = p + 1; int j = r - 1; while(i < j) { while(A[i] < x) ++i; while(A[j] > x) --j; if(i < j) swap(A[i++], A[j--])

用冒泡排序法 #include<stdio.h> //头文件 main(void) // 主函数入口 { int m,n,j,f,a[10]; int N=10; //定义整形变量N 10位整数 for(m=0;m<N;m++) scanf("%d",&a[m]); //申明数组并给以储存空间 for(m=0;m<N-1;m++) //两个for循环比较两个大小

).out; for(int j=1;j system.out.print(i+" " } system.println();=i;j++){ system.out.print(i*j + " ")public class test2 { public static void main(string[]args){ for(int i=1

#include <stdio.h> void main() { int i; for(i=0;i<=9;i++) printf("%d",i); } 只是输出很简单 如果是排序你就用冒泡排序,冒泡排序主要的思想是进行相邻的两个元素之间的比较并且交换.

用插空法,共有C_18^9 = 48620中可能. #include <iostream>#include <vector>#include <numeric>#include <string>using namespace std;const int n = 9;void combine(int const pos = 0, int const num = n, string const str = ""){ if (pos == n){ cout

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com