日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

HDU 1271整数对

發布時間:2025/5/22 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 1271整数对 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整數對

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1006????Accepted Submission(s): 357


Problem Description Gardon 和小希玩了一個游戲,Gardon隨便想了一個數A(首位不能為0),把它去掉一個數字以后得到另外一個數B,他把A和B的和N告訴了小希,讓小希猜想他 原來想的數字。不過為了公平起見,如果小?;卮鸬臄惦m然不是A,但同樣能達到那個條件(去掉其中的一個數字得到B,A和B之和是N),一樣算小希勝利。而 且小希如果能答出多個符合條件的數字,就可以得到額外的糖果。
所以現在小希希望你編寫一個程序,來幫助她找到盡可能多的解。
例如,Gardon想的是A=31,B=3 告訴小希N=34,
小希除了回答31以外還可以回答27(27+7=34)所以小??梢砸虼硕玫揭粋€額外的糖果。

Input 輸入包含多組數據,每組數據一行,包含一個數N(1<=N<=10^9),文件以0結尾。

Output 對于每個輸入的N,輸出所有符合要求的解(按照大小順序排列)如果沒有這樣的解,輸出"No solution."

Sample Input 34
152
21
0

Sample Output 27 31 32
126 136 139 141
No solution.
/*
Name:
Copyright:
Author:
Date: 05/10/11 13:42
Description:
*/
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
int s[100];

int main(int argc, char *argv[])
{
int n,a,b,c,count;
while(scanf("%d",&n)&&n)
{
count = 0;
if(n<=10) { printf("%d\n",n); continue;}
for(int i=1;i<=n;i*=10)
{
c=n/i/11;
b=n/i%11;
if(b<10&&(b!=0 || c!=0))
{
a =n-(b+c*11)*i;
a/=2;
if(a*2+(b+c*11)*i==n)
s[++count]= a+b*i+c*10*i;

}
b--;
if(b>=0&&(b!=0 || c!=0))
{
a =n-(b+c*11)*i;
a/=2;
if(a*2+(b+c*11)*i==n)
s[++count]=a+b*i+c*10*i;
}
}
if(count==0) puts("No solution.");
else
{
sort(s+1,s+count+1);
printf("%d",s[1]);
for(int i=2;i<=count;i++)
{
printf(" %d",s[i]);
}
puts("");
}
}
system("PAUSE");
return EXIT_SUCCESS;
}

轉載于:https://www.cnblogs.com/one--world--one--dream/archive/2011/10/05/2199408.html

總結

以上是生活随笔為你收集整理的HDU 1271整数对的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。