Wątek przeniesiony 2014-10-24 19:01 z C# i .NET przez ŁF.

Odnalezienie liczb zawierających cyfrę 3

0

Mam za zadanie znaleźć liczby trzycyfrowe, które zawierają cyfrę 3. Wiem, że trzeba byłoby zrobić pętle i każdą liczbę zamienić na string'a i wyłapać czy jest 3 ale chyba już jako char? Nie wiem dokładnie jak miałoby to wyglądać.

0

Lepiej byłoby chyba skorzystać z dzielenia całkowitoliczbowego i modulo.

1
            string str = "123";
            if (str.Contains('3'))
                Console.WriteLine("String zawiera cyfrę 3");
0

Dzielenia całkowitego i modulo? W jaki sposób ?

5
if (i==3 || i==13 || i==23 || (i>=30 && i<=39) || i==43 || i==53 || i==63 || i==73 || i==83 || i==93 ||
    i==103 || i==113 || i==123 || (i>=130 && i<=139) || i==143 || i==153 || i==163 || i==173 || i==183 || i==193 ||
    i==203 || i==213 || i==223 || (i>=230 && i<=239) || i==243 || i==253 || i==263 || i==273 || i==283 || i==293 ||
    (i>=300 && i<=399) ||
    i==403 || i==413 || i==423 || (i>=430 && i<=439) || i==443 || i==453 || i==463 || i==473 || i==483 || i==493 ||
    i==503 || i==513 || i==523 || (i>=530 && i<=539) || i==543 || i==553 || i==563 || i==573 || i==583 || i==593 ||
    i==603 || i==613 || i==623 || (i>=630 && i<=639) || i==643 || i==653 || i==663 || i==673 || i==683 || i==693 ||
    i==703 || i==713 || i==723 || (i>=730 && i<=739) || i==743 || i==753 || i==763 || i==773 || i==783 || i==793 ||
    i==803 || i==813 || i==823 || (i>=830 && i<=839) || i==843 || i==853 || i==863 || i==873 || i==883 || i==893 ||
    i==903 || i==913 || i==923 || (i>=930 && i<=939) || i==943 || i==953 || i==963 || i==973 || i==983 || i==993)
  Console.WriteLine("zawiera 3");
else
  Console.WriteLine("nie zawiera 3");
0

Dla liczb od 10 do 100, myśle, że ogarniesz i zrobisz dla wszystkich możliwych. ;)
EDIT:

#include <iostream>
using namespace std;

int main ()
{
	int a,b,c;
	
	
	
	for (a=0; a<100; a++)
	{
	int i=0;
	
		b=a/10;
		if (b==3)
		{
			cout<<a<<",";
		
		}
		
		c=a-(b*10);
		if (c==3)
		{
			cout<<a<<",";
		}
	    
	}
	
	
return 0;	
}
1

Yep co? Jak zrobić trzy pętle składając tą liczbę jako a100+b10+c? Gdzie upchnąć ten warunek ?

Prawdopodobnie @_13th_Dragon chodzi o coś takiego:

for(iterujesz a od 1 do 9) for(iterujesz b od 0 do 9) for(iterujesz c od 0 do 9) if(jeśli a lub b lub c jest równe 3) wypisujesz liczbę a*100+b*10+c lub jako string ""+a+b+c

1 użytkowników online, w tym zalogowanych: 0, gości: 1