在线算法编程
解决这类问题可以使用 回溯 算法,代码如下:
#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等各种编程的教程和实例,可以帮助你快速入门和提高编程能力。