在線演算法編程
解決這類問題可以使用 回溯 演算法,代碼如下:
#include<stdio.h>
#include<stdlib.h>
#defineM6//候選數字個數
#defineN5//組合後數字位數
intcheck(intresult[],inti)
{
for(intj=0;j<N;j++)
if(result[j]==i)
return0;
return1;
}
intlist(intnumbers[],intl,intresult[],intcount)
{
if(l>=N){
//將各位數組合成一個數
intnum=0;
for(inti=0;i<N;i++){
num=num*10+numbers[result[i]];
}
//判斷這個數是否能被75整除
if(num%75==0){
printf("%d ",num);
count++;
}
returncount;
}
for(inti=0;i<M;i++){
if(!check(result,i)){
continue;
}
result[l]=i;
count=list(numbers,l+1,result,count);
result[l]=-1;
}
returncount;
}
intmain()
{
intnumbers[M]={1,2,5,7,8,9};
intresult[N]={-1,-1,-1,-1,-1};
intcount=list(numbers,0,result,0);
printf("共有%d個 ",count);
system("pause");
return0;
}
運行結果:
❷ java 演算法設計基礎 編程
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
// 生成隨機數
int k[] = new int[10];
for(int i=0;i<10;i++){
int x=(int)(Math.random()*100);
k[i] = x;
System.out.print(k[i]+" ");
}
System.out.println();
//
Arrays.sort(k);
for(int i=0;i<10;i++)
System.out.print(k[i]+" ");
System.out.println();
//冒泡排序法
for (int i = 0; i < k.length; i++) {
for (int l = 0; l < k.length; l++) {
int temp;
if (k[i] < k[l]) {
temp = k[l];
k[l] = k[i];
k[i] = temp;
}
}
}
for (int i = 0; i < k.length; i++) {
System.out.print(k[i] + " ");
}
}
}
❸ 求好用的計算機代碼網站
以下是一些好用的計算機代碼網站:1. Stack Overflow:這是廣泛使用的問題和答案社區,你可以在這里搜索你的問題,或者提出自己的問題。2. GitHub:這是全球最大的開源代碼庫和版本控制系統,你可以在這里瀏覽和共享代碼,交流你的項目和觀點。3. CodePen:這是在線代碼編輯器和社區,游昌你可以在這里編輯、分享和學習各種前端代頌磨孝碼,包括HTML、CSS和JavaScript。4. LeetCode:這是在線編程練習平台,包含各種演算法和數據結構題目,可以提高你的編碼能力和解決實際問題的能力。5. Codecademy:這是在線編程學習平台,提供不同編程的教程和實踐項目,可以幫助你快速入門編程。6. HackerRank:這也是在線編程練習平台,主要面向企業和招聘者,提供各種編程和演算法測試,幫助企業測評野稿招聘者的編程能力。7. W3Schools:這是在線編程教程和參考網站,提供HTML、CSS、JavaScript、SQL等各種編程的教程和實例,可以幫助你快速入門和提高編程能力。