uj5u.com熱心網友回復:
使用窮舉法,簡單一題。uj5u.com熱心網友回復:
for (int i = 1000; i < 9999; i++)
for (int j = 1; j < 9; j++) {
int a,b,c,d;
a = i % 10;
b = (i / 10) % 10;
c = (i / 100) % 10;
d = (i / 1000);
if (a==b|| a == c|| a== d ||
b == c || b == d ||
c == d)
continue;
if (i * j == a * 1000 + b * 100 + c * 10 + d)
{
cout << a << b << c << d << "*" << j << endl;
}
}
uj5u.com熱心網友回復:
int a,b,c,d;
d = i % 10;
c = (i / 10) % 10;
b = (i / 100) % 10;
a = (i / 1000);
uj5u.com熱心網友回復:
求解給定一個二叉樹,要求后序輸出這個二叉樹的節點值。
輸入格式:
第一行包含一個整數 n(n<=50),表示這棵樹有 n 個頂點, 編號分別為 1到 n,其 中編號為 1 的為根結點。
第2行到第n+1行,依次表示節點1到節點n。第i+1(1=<i<=n)行有3個整數,分別表示節點i的節點值,左子節點的編號和右子節點的編號,如果節點i沒有左子節點或右子節點,則用 0 代替。
輸出格式:
這棵二叉樹后序遍歷所有節點的值
示例輸入:
6
100 2 3
-10 5 6
999 4 0
7 0 0
120 0 0
-1 0 0
示例輸出:120 -1 -10 7 999 100
uj5u.com熱心網友回復:
#include <stdio.h>
int main(int argc, char** argv)
{
int a, b, c, d, e;
for (a=1; a<=9; a++) {
for ( b=0; b<=9; b++ ) {
if (a!=b) {
for ( c=0; c<=9; c++ ) {
if ( b!=c && b!=a ) {
for ( d=1; d<=9; d++ ) {
if ( d!=b && d!=c && d!=a )
for ( e=1; e<=9; e++ )
if ( e!=a && e!=b && e!=c && e!=d )
{
if ( (a*1000+ b*100+c*10+d)*e == (d*1000+c*100+b*10+a) )
printf("%d%d%d%d * %d = %d%d%d%d\n", a,b,c,d,e,d,c,b,a );
}
}
}
}
}
}
}
}
很臭的一個程式,但是對的。
uj5u.com熱心網友回復:
求解給定一個二叉樹,要求后序輸出這個二叉樹的節點值。
輸入格式:
第一行包含一個整數 n(n<=50),表示這棵樹有 n 個頂點, 編號分別為 1到 n,其 中編號為 1 的為根結點。
第2行到第n+1行,依次表示節點1到節點n。第i+1(1=<i<=n)行有3個整數,分別表示節點i的節點值,左子節點的編號和右子節點的編號,如果節點i沒有左子節點或右子節點,則用 0 代替。
輸出格式:
這棵二叉樹后序遍歷所有節點的值
示例輸入:
6
100 2 3
-10 5 6
999 4 0
7 0 0
120 0 0
-1 0 0
示例輸出:120 -1 -10 7 999 100
uj5u.com熱心網友回復:
一樓寫的可以,我改進一下
for (int i = 1000; i < 9999; i++)
{
for (int j = 1; j < 10; j++)
{
int a, b, c, d;
a = i % 10;
b = (i / 10) % 10;
c = (i / 100) % 10;
d = i / 1000;
if (a == b || a == c || a == d ||
b == c || b == d ||
c == d)
continue;
if (i * j == a * 1000 + b * 100 + c * 10 + d)
{
cout << i << " * " << j << " = " << a * 1000 + b * 100 + c * 10 + d << endl;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/41241.html
標籤:C語言
下一篇:error C2065: 'setpalette' : undeclared identifier問題求助,萬分感謝
