Ⅰ c语言编程 组合三位数
给你个暴力计算的:
#include<stdio.h>
inta[10];
voidf(intn)
{
while(n)
{
++a[n%10];
n/=10;
}
}
intmain()
{
intn,i,r;
for(n=100;n<400;++n)
{
for(i=1;i<=9;++i)
a[i]=0;
f(n);
f(2*n);
f(3*n);
r=1;
for(i=1;i<=9;++i)
r*=a[i];
if(r==1)
printf("%d,%d,%d ",n,2*n,3*n);
}
return0;
}
结果:
192,384,576
219,438,657
273,546,819
327,654,981
Ⅱ c语言题把1,2,3,4,5,6,7,8,9组合成三个三位数,要求每个数字仅用一次,并且每个三位数均是完全平方数
C语言程序如下:
int main(){
char temp[3];
for(int i = 123;i<=987;i++){
itoa(i, temp, 10);//转换成string
if(temp[0] != temp[1] && temp[0] != temp[2] && temp[1] != temp[2]){
int a = sqrt(i);
if(a * a == i){
std::cout << i << std::endl;
}
}
}
return 0;
}
(2)三个数字组合c语言扩展阅读:
完全平方数性质如下:
(1)、平方数的个位数字只能是 0, 1,4,5,6,9 。
(2)、任何偶数的平方一定能被 4 整除;任何奇数的平方被 4(或 8)除余 1,即被4 除余 2 或 3 的数一定不是完全平方数。
(3)、完全平方数的个位数字是奇数时,其十位上的数字必为偶数。完全平方数的个位数字是 6 时,其十位数字必为奇数。
(4)、凡个位数字是 5 但末两位数字不是 25 的自然数不是完全平方数;末尾只有奇数个 0 的自然数不是完全平方数;个位数字是 1,4,9 而十位数字为奇数的自然数不是完全平方数。
(5)、除 1 外,一个完全平方数分解质因数后,各个质因数的指数都是偶数,如果一个数质分解后, 各个指数都为偶数, 那么它肯定是个平方数。 完全平方数的所有因数的总个数是奇数个。因数个数为奇数的自然数一定是完全平方数。
Ⅲ 怎样使3个数字构成一个三位数的C语言程序
/*要用3个数字构成一个三位数,则百位数字一定不能为0,然后用 100*a+10*b+c来表示即可*/
#include <stdio.h>
void main()
{
int a,b,c;//a代表百位的数字,b代表十位的数字,c代表个位的数字
int number; //number就是最后构成的那个3位数。
/*分别输入3个数字*/
printf("请输入百位数字:");
scanf("%d",&a);
printf("请输入十位数字:");
scanf("%d",&b);
printf("请输入个位数字:");
scanf("%d",&c);
while(a==0) //要表示一个3位数,则百位数字一定不能是0.
{
printf("输入有误,请重新输入!\n");
printf("请输入百位数字:");
scanf("%d",&a);
printf("请输入十位数字:");
scanf("%d",&b);
printf("请输入个位数字:");
scanf("%d",&c);
}
number=100*a+10*b+c;
printf("构成的三位数字是:%d",number);
printf("\n");
}
Ⅳ c语言输入一个三位数,将数字重组,组成一个尽可能大的三位数
#include <stdio.h>
int main(){
int a;
printf("please input a number:");
scanf("%d",&a);
int num[3];
num[0]=a%10;//个位数
num[1]=a/10%10;//十位数
num[2]=a/100;//百位数
int p=0;
for(int i=0;i<3;i++){//对三个数排序,由大到小
for(int j=i+1;j<3;j++)
if(num[i]<num[j]){
p=num[i];
num[i]=num[j];
num[j]=p;
}
}
for(int k=0;k<3;k++)//输出
printf("%d",num[k]);
printf("\n");
return 0;
}
Ⅳ 用c语言设计一个程序输入三个数,将它们组合成六个三位数
要求输入 1 到 9 中 的 3 个数字,
组合成 6 个 3 位数 ,程序如下:
#include <stdio.h>
#include <stdlib.h>
int main () {
int a[3];
int b[10];
int i,j,k,n=0;
printf("input 3 diff digits, 1-9:\n");
for (i=0;i<3;i++) scanf("%d",&a[i]);
for (i=0;i<3;i++)
for (j=0;j<3;j++)
for (k=0;k<3;k++)
if ((i!=j) && (i!=k) && (j!=k) ){
b[n]=a[i]*100+a[j]*10+a[k];
n++;
}
for(i=0;i<n;i++) printf("%03d ",b[i]);
return 0;
}